这是一个读入大写字母转为小写字母的C++程序。
这里是程序代码:
#include<stdio.h>
int main()
{
for (;;)
{
printf("请输入一个大写字母:");
char x = getchar();
printf("对应的小写字母为:");
putchar(x + 32);
printf("\n\n");
}
return 0;
}
它总是会多空循环一次,老师也不给我们解答,还说没教到循环,用循环写的全部0分。
求求了谢谢各位orz!
多输入了换行符。getchar 和 scanf不一样,后者需要回车输入,而前者会把回车一起读入,相当于读入了2字符,因此需要跳过回车(再调用一次getchar)。
#include<stdio.h>
int main(){
char x,y;
for (;;)
{
printf("请输入一个大写字母:");
x = getchar();
y = getchar();
printf("对应的小写字母为:");
putchar(x + 32);
printf("\n\n");
}
return 0;
}
因为你的循环没有退出循环的条件,所以在一直做循环,所以会一直提示你输入大写字母
并不是什么冲突