C语言大写字母转换成小写字母程序出错

C语言大写字母转换成小写字母程序出错,当输入不符合要求的字符时比如输入“8”,但printf("outofrange!pleaseinputagain:");被执行了两次... C语言大写字母转换成小写字母程序出错,当输入不符合要求的字符时比如输入“8”,但printf("out of range!please input again:");被执行了两次是怎么回事???程序如下:#include <stdio.h>int main(){ int m=1; char d; printf("please input a capital letter:"); while(1) { scanf("%c",&d); if(d>=65&&d<=90) { d=d+32; printf("The small letter is:%c\n",d); break; } else { printf("out of range!please input again:"); } } return 0;} 展开
 我来答
White_MouseYBZ
2016-07-12 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6688万
展开全部
把scanf("%c",&d);改成scanf(" %c",&d);——注意就是在%前加一个空格。
更多追问追答
追问
为什么?真是这样就好了
好了,可是我想不通
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式