啊哈磊_编程从这里起步

标题: 课本133页,限定猜数次数,不管初始值是多少,sum第二次就变-1了 [打印本页]

作者: Vivian1091    时间: 2013-12-29 14:34
标题: 课本133页,限定猜数次数,不管初始值是多少,sum第二次就变-1了
如题,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, 下载次数: 6)

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

作者: rosynirvana    时间: 2013-12-29 14:34
这里

if(sum=0)
作者: rosynirvana    时间: 2013-12-29 15:15
问题出在你的continue和break上面
作者: Vivian1091    时间: 2013-12-29 15:40
rosynirvana 发表于 2013-12-29 15:15
问题出在你的continue和break上面

大侠请明示。
我又对照了一遍书,发现前两个if语句的prinft,括号里少了sum,加上后;
我又把continue删除了;
还是没解决。。

作者: soarse    时间: 2014-2-4 11:49
Vivian1091 发表于 2013-12-29 15:40
大侠请明示。
我又对照了一遍书,发现前两个if语句的prinft,括号里少了sum,加上后;
我又把continue ...

你最下面的那个if()语句中的sum=0是赋值的意思,不是进行判断的意思。
改为if(sum==0)就问题解决了!




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2