我正在尝试在下一个程序中打印变量'nc'中的值:
int main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
Run Code Online (Sandbox Code Playgroud)
请告诉我为什么不打印?
你的while循环中没有括号(这就是为什么不使用括号导致容易出错的软件).因此,值会增加,但不会打印.
尝试:
int main(int argc, char** argv)
{
long nc;
nc = 0;
while (getchar() != EOF)
{ // ADD THIS
++nc;
printf("%ld\n", nc);
} // AND THIS
}
Run Code Online (Sandbox Code Playgroud)
否则,您的代码基本上是这样做的:
int main(int argc, char** argv)
{
long nc;
nc = 0;
while (getchar() != EOF)
{
++nc; // ENDLESSLY ADDING
}
printf("%ld\n", nc); // NEVER REACHED DUE TO WHILE LOOP.
}
Run Code Online (Sandbox Code Playgroud)