这代码有问题吗?为什么我输入1后按回车没有反应?C语言!

如题所述

两个问题:
1 scanf("%d\n",&a);这句里的“\n”去掉
2 if(a=1)改成if(a==1)
第1个问题的原因是因为scanf遇到“\n”会忽略这个空白符,并期望遇到一个非空白符来终止scanf函数,所以你在输入1后再按回车也没反应,不过再输入一个非空白符就没问题了。
第2个问题,a=1是把1赋值给a,a==1是判断a是否和1相等,你的if(a=1)会使判断语句永远成立并使a值变为1(初学者经常会忘了加一个“=”号,以后注意点就好)。追问

yeah,可以了

谢谢

懂了

温馨提示:答案为网友推荐,仅供参考