刚学c语言 请帮忙看一下这几行代码~

计算0-9各自出现的次数

#include
#include

main(){
int array[10]={0};
int ch,i;

while(ch=getchar()!=EOF){   
    if(isdigit(ch)){
        array[ch-'0']++;
    }
}
for(i=0;i<10;i++){
    printf("%d ",array[i]);
}

}
为啥输出都是0啊

求解答~感谢

赋值运行算 = 的优先级最低,因此

 ch=getchar()!=EOF

应修改为:

 (ch=getchar()) != EOF

如果对您有帮助,请点击采纳答案好吗,谢谢~~

呃,可能是ch没有赋值,导致while循环没有执行?

括号优先级高,加括号解决

赋值运行算 = 的优先级最低,因此

ch=getchar()!=EOF

改为:

(ch=getchar()) != EOF

优先级问题
赋值运行算 = 的优先级最低,因此

ch=getchar()!=EOF

改为:

(ch=getchar()) != EOF