甚是不懂,请各位大神指点
这是我写的一个统计字符输入数的小程序,代码如下:
#include<stdio.h>
#include<stdlib.h>
/*统计字符输入数FOR循环版;*/
int main()
{
double nc;
for(nc = 0; getchar() != EOF; ++nc)
;
printf("%.of\n",nc);
system("pause");
}
但是当运行输入测试数据的时候怎么毫无反应啊,我按下ctrl+z也没啥反应,我用的DEV编译环境
[解决办法]
printf("%.of\n",nc);
你这里看起来好像是of,不是0f。注意拼写。
[解决办法]
- C/C++ code
#include<stdio.h>#include<stdlib.h>/*统计字符输入数FOR循环版;*/int main(){ double nc; for(nc = 0; getchar() != EOF; ++nc) ; printf("%.0f\n",nc);//改成0f不是of。是零不是欧 system("pause"); }
[解决办法]
of好像也能输出,只不过每次只输出f
[解决办法]
printf("%.of\n",nc); 改成printf("%.0f\n",nc);
fflush(stdout);
这样试试看管用吗,有可能是暂停的时候没来及输出
[解决办法]
[解决办法]
关于怎么输入EOF,在不同的系统有不同的方式。具体的差异我也不懂,我用的cl编译器,windows平台,输入EOF时要先按回车,然后Ctrl+Z,再按回车。执行的你的程序,把那个o改成了0,double改成了int(其实想不明白你为啥用double)用我的方法输入的数比测试的多1(因为第一次输入的回车被读入了)
[解决办法]