qq_40215833
Alter_Jade
采纳率50%
2017-11-28 13:24

刚学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啊

求解答~感谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • fight_in_dl 战在春秋 4年前

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

     ch=getchar()!=EOF
    

    应修改为:

     (ch=getchar()) != EOF
    

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

    点赞 3 评论 复制链接分享
  • hfj13637261657 hfj13637261657 4年前

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

    ch=getchar()!=EOF

    改为:

    (ch=getchar()) != EOF

    点赞 2 评论 复制链接分享
  • hfj13637261657 hfj13637261657 4年前

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

    点赞 2 评论 复制链接分享
  • niu_niu0517 niu_niu0517 4年前

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

    ch=getchar()!=EOF

    改为:

    (ch=getchar()) != EOF

    点赞 评论 复制链接分享
  • m0_37772350 C彬 4年前

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

    点赞 评论 复制链接分享

相关推荐