我发现这本书有很多人建议新手使用,但是有些代码不起作用,虽然我的代码与书中的代码完全相同,但它仍然不起作用
#include <stdio.h>
main()
{
int a ;
for (a = 0; getchar() != EOF ; ++a);
printf ("%d",a);
}
它看起来像循环后立即结束,循环后的代码没有被执行。
这本书太旧了吗?还有另外一本自学c编程的书吗?答案 0 :(得分:1)
int main( void )
{
int a ;
for (a = 0; getchar() != EOF ; ++a);
printf ("%d\n",a);
return 0;
}
在Unix平台上运行此代码,当您想要退出时EOF
引入ctrl+d
,如果您在Windows上,则EOF
引入ctrl+z
所以基本上当你退出时,你将获得循环运行次数的计数。
如果您想打印出每个输入,那么您需要摆脱;
循环结束时的for
int main( void )
{
int a ;
for (a = 0; getchar() != EOF ; ++a)
printf ("%d\n",a);
return 0;
}
答案 1 :(得分:0)
我强烈怀疑在循环结束后控制台会立即关闭。尝试插入类似system("pause")
的内容以防止控制台关闭。
循环循环,直到您输入EOF并打印到目前为止输入的字符数。要键入EOF,你必须按ctrl-z并返回(在测试中我必须在返回后执行此操作,因此返回,然后按ctrl-z,然后返回)。如果控制台在ctrl-z之后直接关闭,您可以添加此system("pause")
以等待其他键,以便您看到输出。