搜索
查看: 1114|回复: 4
打印 上一主题 下一主题

课本133页,限定猜数次数,不管初始值是多少,sum第二次就变-1了

[复制链接]
跳转到指定楼层
楼主
发表于 2013-12-29 14:34:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
如题,sum第二次就变-1了,不管初始值是多少,所以还是可以无限次的猜数,不知道为什么。。
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b,sum;
    sum=100;
    srand((unsigned)time(NULL));
    a=rand()%100;
    while(1)
    {
                sum--;
                scanf("%d",&b);
                if(b>a) {printf("big, continue\n");printf("%d",sum);}
                if(b<a) {printf("small, continue\n");printf("%d",sum);}
                if(b==a) { printf("cong\n"); break;printf("%d",sum);}
        if(sum=0) { printf("no chance\n"); break;printf("%d",sum);}
    }


        system("pause");
        return 0;
}

运行结果


Screen Shot 2013-12-29 at 2.41.53 PM.png (44.58 KB, 下载次数: 5)

Screen Shot 2013-12-29 at 2.41.53 PM.png

最佳答案

查看完整内容

这里 if(sum=0)
沙发
发表于 2013-12-29 14:34:48 | 只看该作者
这里

if(sum=0)
板凳
发表于 2013-12-29 15:15:26 | 只看该作者
问题出在你的continue和break上面
地板
 楼主| 发表于 2013-12-29 15:40:11 | 只看该作者
rosynirvana 发表于 2013-12-29 15:15
问题出在你的continue和break上面

大侠请明示。
我又对照了一遍书,发现前两个if语句的prinft,括号里少了sum,加上后;
我又把continue删除了;
还是没解决。。
5#
发表于 2014-2-4 11:49:45 | 只看该作者
Vivian1091 发表于 2013-12-29 15:40
大侠请明示。
我又对照了一遍书,发现前两个if语句的prinft,括号里少了sum,加上后;
我又把continue ...

你最下面的那个if()语句中的sum=0是赋值的意思,不是进行判断的意思。
改为if(sum==0)就问题解决了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表