永发信息网

C语言 关于当输入0时结束程序的问题

答案:6  悬赏:20  手机版
解决时间 2021-02-01 22:44
  • 提问者网友:沉默菋噵
  • 2021-02-01 07:14
C语言 关于当输入0时结束程序的问题
最佳答案
  • 五星知识达人网友:刀戟声无边
  • 2021-02-01 08:30
1、(scanf("%d",&a)!=0)
的意思是:scanf("%d",&a)这个操作没有不成功,成功录入则为1,失败则为0;与输入是否为0是不同概念,请注意区分。

2、如果要输入为0结束可改为:
int a, .......;
scanf("%d",&a);
while(a!=0){
.................
scanf("%d",&a).;
}
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-02-01 12:58
scanf()函数返回成功赋值的数据项数,出错时则返回EOF。建议楼主看一下scanf()的用法。http://www.oschina.net/question/234345_43611。
  • 2楼网友:行雁书
  • 2021-02-01 11:27
你输完0,还按其他的吗?有时候回车键会影响结果的
  • 3楼网友:独钓一江月
  • 2021-02-01 11:04
scanf的返回值是其成功读取值的变量的个数。
比如你的这个scanf("%d", &a)成功的话返回值应该为1,所以不等于0,所以就继续循环了。
  • 4楼网友:千夜
  • 2021-02-01 10:38
你好,你这个while判断的条件是scanf()函数的返回值不等于0的时候,执行循环
scanf()函数的返回值返回成功接收的变量值的个数
而你本意应该是a的值等于0时,即输入0时,退出循环
可以改成这样
int a =1;
while(a != 0)
{
scanf("%d",&a);
}
  • 5楼网友:怙棘
  • 2021-02-01 09:20
(scanf("%d",&a)!=0)
的意思是:scanf("%d",&a)这个操作没有不成功,成功录入则为1,失败则为0;
与输入是否为0是不同概念,请注意区分~
建议您改为:
{
int a, .......;
scanf("%d",&a);
while(a!=0){

.................
scanf("%d",&a).;
}
不懂请追问,希望我的回答帮得到您,来自【百度懂你】团队,满意请采纳噢~O(∩_∩)O~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯