C语言 关于当输入0时结束程序的问题
本人是初学者,大致的代码是这样的#include<stdio.h>intmain(){inta,.......;while(scanf("%d",&a)!=0){.......
本人是初学者,大致的代码是这样的
#include<stdio.h>
int main()
{
int a, .......;
while(scanf("%d",&a)!=0){
..................;(中间就不写了 不是关键)
}
return 0;
}
关键在于while语句 当我输入0 的时候 整个程序并没有结束 而是停下来了 为什么??? 展开
#include<stdio.h>
int main()
{
int a, .......;
while(scanf("%d",&a)!=0){
..................;(中间就不写了 不是关键)
}
return 0;
}
关键在于while语句 当我输入0 的时候 整个程序并没有结束 而是停下来了 为什么??? 展开
6个回答
展开全部
1、(scanf("%d",&a)!=0)
的意思是:scanf("%d",&a)这个操作没有不成功,成功录入则为1,失败则为0;与输入是否为0是不同概念,请注意区分。
2、如果要输入为0结束可改为:
int a, .......;
scanf("%d",&a);
while(a!=0){
.................
scanf("%d",&a).;
}
的意思是:scanf("%d",&a)这个操作没有不成功,成功录入则为1,失败则为0;与输入是否为0是不同概念,请注意区分。
2、如果要输入为0结束可改为:
int a, .......;
scanf("%d",&a);
while(a!=0){
.................
scanf("%d",&a).;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,你这个while判断的条件是scanf()函数的返回值不等于0的时候,执行循环
scanf()函数的返回值返回成功接收的变量值的个数
而你本意应该是a的值等于0时,即输入0时,退出循环
可以改成这样
int a =1;
while(a != 0)
{
scanf("%d",&a);
}
scanf()函数的返回值返回成功接收的变量值的个数
而你本意应该是a的值等于0时,即输入0时,退出循环
可以改成这样
int a =1;
while(a != 0)
{
scanf("%d",&a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf的返回值是其成功读取值的变量的个数。
比如你的这个scanf("%d", &a)成功的话返回值应该为1,所以不等于0,所以就继续循环了。
比如你的这个scanf("%d", &a)成功的话返回值应该为1,所以不等于0,所以就继续循环了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf()函数返回成功赋值的数据项数,出错时则返回EOF。建议楼主看一下scanf()的用法。http://www.oschina.net/question/234345_43611。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询