源程序如下:
#include<stdio.h>
void main()
{
long nc;
nc=0;
while(getchar()!=EOF)
++nc;
printf("%ld\n",nc);
}
为什么这个程序在vc++6.0下通过调试,但没有运行结果,输入后没反应
请教一下各位高人
源程序如下:
#include<stdio.h>
void main()
{
long nc;
nc=0;
while(getchar()!=EOF)
++nc;
printf("%ld\n",nc);
}
为什么这个程序在vc++6.0下通过调试,但没有运行结果,输入后没反应
请教一下各位高人
这个程序如果用for循环实现
#include<stdio.h>
void main()
{
long c;
for(nc=0;getchar()!=EOF;++nc)
printf("%ld\n",nc);
}
运行结果如下:
此时在按回车数字会继续增加,为什么?
请指教
[IMG]C:\未命名[/IMG]
谢谢大家!
我还想请问一下下面这个问题
#include<stdio.h>
void main()
{
long c,nc;
for(nc=0;c=getchar()!=EOF;++nc)
printf("%ld\n",nc);
}
这个程序在vc++6.0下的运行结果是这样的:
譬如输入asdfghjkl
输出结果为:
0
1
2
3
4
5
6
7
8
9
如果此时在按回车键每按一次数字就会加1会出现下面是每按一次回车的结果
10
11
12
.......
这有是为什么?请大家在解答一下
在请教一下soft_wind
我的循环条件是(c=getchar())!=EOF,如果我在输入结束后按下回车键,输出结果和上面的一样但此时我按
Ctrl+z(EOF=),屏幕出现Press any key to continue循环看来是结束了(运行试试按Ctrl+F5,环境为vc++6.0)
但我输入结束后直接按Ctrl+z,循环按道理应该结束了,但我稀释再按回车,就会出现和12楼一样的情况
这又是为什么?谢谢
(c=getchar())!=EOF作为循环条件,按Ctrl+z应该会使循环结束,但我输入结束后,按Ctrl+z
屏幕上会显示~Z的字样,要看到结果再按一下回车,但结果和12楼的一样,循环似乎没结束
谢谢