甚是不懂,请诸位大神指点
甚是不懂,请各位大神指点
这是我写的一个统计字符输入数的小程序,代码如下:
#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。注意拼写。
------解决方案--------------------
这是我写的一个统计字符输入数的小程序,代码如下:
#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(因为第一次输入的回车被读入了)
------解决方案--------------------