ch=getchar()!='\n'
判断优先级高于赋值
所以你这里ch不是0就是1
所以根本不会到if(ch>='0'&&ch<='9') 这个判断里
num又怎么可能会增加呢
#include
void main()
{int num=0;
char ch;
printf("input enter to end input
while(ch!='\n')
{ch=getchar();
if(ch>='0'&&ch<='9')
{putchar(ch);num=num+1;}
}
printf("Number=%d",num);
}
把赋值语句单写就可以,或者使用上面的方法,仅供参考!
while(ch=getchar()!='\n')
//改为下面,目的是保证先赋值还判断。
while((ch=getchar())!='\n')