printf("continue or not(Y/N):"); getchar(); scanf("%c", &k); while(k!='n' || k!='N' || k!='y' || k!='Y') { printf("输入有误,请重新输入:"); scanf("%c", &k); } if (k=='n' || k=='N') j = 0; while (getchar() != '\n') continue;目前我正在学习C语言,这是我自己编写的一段小程序,可是还没达到我要的效果我要的效果:运行程序后,荧屏上出现continue or not(Y/N),用户输入的第一个字母只能是Y(y)或N(n)(如果能限制只能输入一个字符就好了(*^__^*) 嘻嘻……),如果输入的第一个字母不符合要求时,荧屏就会出现一句“输入有误,请重新输入”,直到输入的字母符合要求。如果能帮到我解决这个问题, 小弟感激不尽了 ^_^
1 回答
已采纳
guozhchun
TA贡献103条经验 获得超76个赞
while(k!='n' || k!='N' || k!='y' || k!='Y')
这个语句会使程序陷入死循环,把“或”改为“与”
while((k != 'n') && (k != 'N') && (k != 'y') && (k != 'Y'))
- 1 回答
- 0 关注
- 1541 浏览
添加回答
举报
0/150
提交
取消