源程序如下:
#include<stdio.h>
void main(){ long nc; nc=0; while(getchar()!=EOF) ++nc; printf("%ld\n",nc);}为什么这个程序在vc++6.0下通过调试,但没有运行结果,输入后没反应
请教一下各位高人
你想干什么?#include<stdio.h>
int main(void){ long int nc; nc=0; while(getchar()!='\n') ++nc; printf("%ld\n",nc); return 0;}
这个程序如果用for循环实现
void main()
{
long c;
for(nc=0;getchar()!=EOF;++nc)
printf("%ld\n",nc);
}
运行结果如下:
此时在按回车数字会继续增加,为什么?
请指教
[IMG]C:\未命名[/IMG]
因为回车也算一个字符,你实际上getchar了2次
[CODE]#include<stdio.h>int main(void){ long int nc; char c; nc=0; while((c=getchar())!=EOF){ if(c != '\n'){ ++nc; printf("%ld\n",nc); } } return 0;}[/CODE]
long int nc,是啥意思?
好象是定义nc为长整型 效果和long nc一样