#include<stdio.h>
main()
{
int c, ns;
ns = 0;
while (c = getchar() != EOF)
if (c == ' ')
++ns;
printf("%d\n",ns);
main()
{
int c, ns;
ns = 0;
while (c = getchar() != EOF)
if (c == ' ')
++ns;
printf("%d\n",ns);
}
运行程序,输入10个空格,ENTER换行,CTRL+Z结束文本输入,计算结果为:0 ,大多数按照课本上写的,不能计算会郁闷无比。其实这个问题很好解决,是要加入一个优先运行符号(),优先运行c=getchar() 即可:、
如下修改:
#include<stdio.h>
main()
{
int c, ns;
ns = 0;
while ((c = getchar()) != EOF)
if (c == ' ')
++ns;
printf("%d\n",ns);
}
运行程序,输入10个空格,ENTER换行,CTRL+Z结束文本输入,计算结果为:10,问题完美解决!
运行结果如下:
^Z
10
请按任意键继续. . .