使用xcode学习C(通过K&R)

使用xcode学习C(通过K&R),c,xcode,while-loop,kr-c,C,Xcode,While Loop,Kr C,我正在用C编程语言(K&R)学习C 因为我并不特别想在文本编辑器和运行gcc之间来回切换,所以我决定使用xcode作为IDE。到目前为止,直到第1.5.2节,我都能够毫无问题地遵循本书的示例 当给出有效的(?)程序时 #include <stdio.h> void main() { long nc; nc = 0; while (getchar() != EOF) ++nc; printf("%ld\n", nc); } #包括

我正在用C编程语言(K&R)学习C

因为我并不特别想在文本编辑器和运行gcc之间来回切换,所以我决定使用xcode作为IDE。到目前为止,直到第1.5.2节,我都能够毫无问题地遵循本书的示例

当给出有效的(?)程序时

#include <stdio.h>

void main()
{
    long nc;

    nc = 0;
    while (getchar() != EOF)
        ++nc;
    printf("%ld\n", nc);
}
#包括
void main()
{
长nc;
nc=0;
while(getchar()!=EOF)
++数控;
printf(“%ld\n”,nc);
}
…我没有收到最终输出,告诉我输入中有多少个字符。我通过xcode控制台窗口输入输入

经过一些调试后,我的程序似乎卡在while循环中,从未遇到过EOF令牌。为了适应这种情况,我用
“\n”
替换了
EOF
,从而替换了一个换行符作为新条件,这也不起任何作用,并给我一个int-To-pointer比较警告

我做错了什么

我是否能够使用xcode跟踪K&R?

键入
^D
(control-D)以发送
EOF


如果要在换行符上中断,则需要将
getchar
的返回值与
'\n'
进行比较,而不是
“\n”
。前者是换行符的实际
char
值;后者是指向具有该值的字符的指针。如果这对你来说还没有意义,别担心,一旦你读了更多,它就会变得有意义。

使用
\n
,它可能会工作得更好;)\是逃避角色。哎哟,哈哈,我在问题上打错了,我确实在程序上输入了\n,但仍然不起作用。不过谢谢你能听到。