第一个是要了解for循环ch初始化的原理,getchar()只赋值一次,也就是说ch的值只有一个,循环再怎么执行ch的值不会改变(你的程序是这样的)
第二个你要了解getchar()的特性,是需要输入回车才会结束函数的,在输入 a回车 之后ch的值实际上是‘a’ 不等于'\n'
童鞋
for(ch=getchar();ch!='\n';n++) ;
里ch永远都是第一次getchar();的值,你准备什么时候让他移动一下?
int n=0;
char ch=getchar();
while(ch!='\n')
{n++;}