行为非常不一致 - 非常令人沮丧。
问题必须在于将一些输入文本粘贴到Xcode的调试区域中。
以下是如何复制问题:
#include <stdio.h>
/* count digits, white space, others */
main() {
int c, i, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; ++i)
ndigit[i] = 0;
while ((c = getchar()) != EOF)
if (c >= '0' && c <= '9')
++ndigit[c-'0'];
else if (c==' '||c=='\n'||c=='\t')
++nwhite;
else
++nother;
printf("digits =");
for (i = 0; i < 10; i++)
printf(" %d", ndigit[i]);
printf(", white space = %d, other = %d\n", nwhite, nother);
}
即使您在自己的行上发送Ctrl-d也不起作用。
注意**从终端运行已编译的可执行文件时,工作正常(在lipsum中粘贴并用^d发信号通知EOF)。此外,Ctrl-d不需要在它自己的行上(只是连续两次键入)。仍然有效。