我最近购买了 The C Programming Language 并尝试了 Ex 1-8 这是代码
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
/*
*
*/
int main() {
int nl,nt,nb;
int c;
printf("\nHello and Welcome :D\nThis is the 'answer' to Ex 1-8 in TCPG\nRemember,to end input,type in %d\n[Press <ENTER> to continue]\n",EOF);
getch();
for(nl = 0,nb = 0,nt = 0;(c = getchar()) != EOF; ) // When getchar is replaced by getche() it goes into the loop but doesnt exit the loop
{
putchar(c);
if(c == '\n')
{
nl++;
}
else if(c == '\t')
{
nt++;
}
else if(c == ' ')
{
nb++;
}
}
printf("\nYou typed in %d blanks, %d tabs and wrote %d lines\n[Press <ENTER> to exit]",nb,nt,nl);
getch();
return (EXIT_SUCCESS);
}
它只是不进入循环!当 getchar() 被 getche() 替换时,它进入循环但不退出:( 如果你没有猜到,putchar(c); 只是为了确认它已经进入循环的事实我试过 Ctrl + D 和Ctrl + Z 我正在使用 Windows 8 谢谢大家 :)
编辑:我首先使用了一个 switch case 结构,但我认为我应该按照我刚刚看到它说 RUN FAILED (exit value -1, total time: 5s) 在我输入一点后的书...有什么想法吗?谢谢大家:)(再次:D)