求教c语言中的EOF
答案:3 悬赏:0
解决时间 2021-03-12 08:31
- 提问者网友:王者刀枪不入
- 2021-03-11 17:07
h> int main(void) { while (getchar() != EOF) printf("#include <,因为没有出现Press any key to continue 但是我要是直接输入了Ctrl+Z程序就停止了 输出的是 Press any key to continue 为什么程序在第一种情况中没有停止呢;stdio;q\n"); return 0; } 这个程序我要是输入了 qw加个Ctrl+Z 再回车 输出的是 q q 注意,此时程序没有停止
最佳答案
- 二级知识专家网友:晚安听书人
- 2021-03-11 17:31
qw加个Ctrl+Z 再回车,缓冲区只有qw两个字符,回车在Ctrl+Z之后所以不包括回车 仅仅输入q的话,输出两个q,因为回车也输送进去了 Ctrl+Z 再回车则停止
全部回答
- 1楼网友:一只傻青衣
- 2021-03-11 18:42
eof的值是-1
scanf("%d",&a[i])返回值为1或0
当你在屏幕上输入整数(符合%d)为1
输入字母,小数...(不符合%d)为0
两者恒不等,无限循环
直到下标溢出,程序崩溃
- 2楼网友:瘾与深巷
- 2021-03-11 18:10
把程序变成这样: int i[50], j=0; while (i[j] ; i[j] = getchar()!= EOF) { j++; printf("q\n",第二种情况下才是EOF;); i[j] = getchar(); } 发现在第一种情况下Ctrl+Z的值是26
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯