| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
我突然想到这里放了 _Bool 布尔类型 行不行 结果也能正常打印 计算结果 但是我自己有点不明白这个 布尔类型在这怎么解释 
我知道布尔类型只有两个值  一个是真 一个是假 1 / 0 
- #include <stdio.h>
 
  
- int main()
 
 - {
 
 -                 int num=0, sum=0;
 
 -                 _Bool sataus; 
 
 -         
 
 -                 do
 
 -                 {
 
 -                                 printf("请输入合法的数字:");
 
 -                                 sataus = scanf("%d", &num);
 
 -                                 sum = sum + num;
 
 -                 }while (sataus);
 
 -                 
 
 -                 printf("结果是:%d\n", sum);
 
 -         
 
 -                 return 0;
 
 - }
 
  复制代码 
scanf返回值是成功读取的个数 ,当你输入非数字的时候,scanf返回值是0 
参考下百科 
http://baike.baidu.com/link?url=5PZCR94z0UfajRc5JjhT4JpDuLGFrusquYnSmYzgHsX3mZTjQ1MqY14ORjZ1kjlya-jdP3N5YBfUhBZzBx1AAa 
通过这样判断当前是否输入合法数字来判断循环是否继续 
 
 
 |   
 
 
 
 |