代码如下:
#include<stdio.h>
int main()
{
char capital,lowercase;
printf("请输入大写字母!\n");
capital=getchar();
while(capital<65||capital>90)
{
printf("输入错误,请重新输入!\n");
capital=getchar();
}
lowercase=capital+32;
putchar(lowercase);
return 0;
}
结果如下:
很明显,while循环里的printf语句执行了两次,这依然是我第一篇文章说的scanf缓冲区残留问题导致的。
文章链接:https://blog.51cto.com/u_15826798/5751702
解决方法:
1. 将capital=getchar();改为capital=getch();注意加上conio.h头文件。
2. 将capital=getchar();改为scanf(“ %c”,&capital);注意在%c前加一个空格。
标签:语句,输出,lowercase,scanf,capital,while,printf,getchar From: https://blog.51cto.com/u_15826798/5760755