求C语言高手帮忙!!!看看这段程序错在哪了?!

2025-01-05 02:07:43
推荐回答(3个)
回答1:

ch=getchar()!='\n'

判断优先级高于赋值
所以你这里ch不是0就是1
所以根本不会到if(ch>='0'&&ch<='9') 这个判断里
num又怎么可能会增加呢

回答2:

#include
void main()
{int num=0;
char ch;
printf("input enter to end input \n");
while(ch!='\n')
{ch=getchar();
if(ch>='0'&&ch<='9')
{putchar(ch);num=num+1;}
}
printf("Number=%d",num);
}
把赋值语句单写就可以,或者使用上面的方法,仅供参考!

回答3:

while(ch=getchar()!='\n')
//改为下面,目的是保证先赋值还判断。
while((ch=getchar())!='\n')