c语言问题 统计出制表符、空格符、换行符的个数 不知道错在哪里了 请大家帮我看下 谢谢~

#include<stdio.h>
#include<string.h>

main()
{
char c;
int space=0,table=0,enter=0;
printf("Please input a string:\n");
scanf("%c",&c);
while(c!=EOF)
{
switch(c){
case 32:space++;
break;
case 9:table++;
break;
case 10:enter++;
break;
default:
break;
}
scanf("%c",&c);
}
printf("space:%d\n",space);
printf("table:%d\n",table);
printf("enter:%d\n",enter);
getchar();
return 0;
}

因为scanf返回才会返回EOF所以你一直退不出去
char c,t;
int space=0,table=0,enter=0;
printf("Please input a string:\n");
t = scanf("%c",&c);
while(t!=EOF)
{
switch(c){
case 32:space++;
break;
case 9:table++;
break;
case 10:enter++;
break;
default:
break;
}
t=scanf("%c",&c);
}
printf("space:%d\n",space);
printf("table:%d\n",table);
printf("enter:%d\n",enter);
getchar();
return 0;

用ctrl+Z 不晓得为什么要多按1次 好像网上有说为什么的 这个网址说了为什么http://linux.chinaunix.net/bbs/viewthread.php?tid=972152&page=1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-10
你也不说说出了什么问题?
第2个回答  2010-08-10
死循环?
第3个回答  2010-08-12
关注中!
相似回答