while(scanf("%d",&x) == 1)//ctrl+z到底是怎么作用,终止循环?

#include<stdio.h>#include<stdlib.h>#defineMAXN100+10inta[MAXN];intmain(){//输入一个整数,按ct... #include<stdio.h>
#include<stdlib.h>
#define MAXN 100+10
int a[MAXN];
int main(){//输入一个整数,按ctrl+z ,输入的整数输出呀!
int i,x,n=0;
while(scanf("%d",&x) == 1)//ctrl+z到底是怎么作用,终止循环?
a[n++]=x;
for(i=n-1;i>=1;i--)
printf("%d",a[i]);
printf("%d",a[0]);
system("pause");
return 0;
}
展开
 我来答
风若远去何人留
推荐于2017-11-01 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450126
专业C/C++软件开发

向TA提问 私信TA
展开全部
scanf("%d",&x)
返回值为正确输入的变量个数. 正确执行时会成功给x赋值,即赋值了一个变量. 返回1.
当出错的时候,比如输入了字母,那么就会返回0.
当遇到文件结束标记EOF的时候,会返回-1.
所以,这个代码,不一定要ctrl +z 输入任意非数字字符就可以终止循环了.
ctrl +Z 就是windows上输入EOF标记的方法,会引起scanf返回-1
strongoier
2012-01-27 · TA获得超过390个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:99.7万
展开全部
ctrl+z相当于文件的EOF (end of file),当scanf遇到它时即停止读入,返回值为0。
更多追问追答
追问
ctrl+z 不是挂起程序吗?
追答
不是
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
加班机器人
2012-01-27 · TA获得超过118个赞
知道答主
回答量:114
采纳率:0%
帮助的人:75.4万
展开全部
while(scanf("%d",&x) != -1)


while(scanf("%d",&x) !=EOF)


都是用ctrl+z 终止循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式