大小写转化遇到的问题

代码如下

#include<stdio.h>
int main()
{
    
    
	char a,b;
	printf("输入一个小写字母\n");
	scanf("%c",&a);
	printf("%c\n",a-32);
	
	printf("输入一个大写字母\n");
	scanf("%c",&b);
	printf("%c\n",b+32);
	
	
	return 0;
}

emmm然后就成这样了
在这里插入图片描述

后来查了一下是因为第一次输入的回车符自动跑到第二次的scanf那里了 所以输出了*

网上还给了教程 只需在scanf后面加fflush(stdin);即可。

#include<stdio.h>
int main()
{
    
    
	char a,b;
	printf("输入一个小写字母\n");
	scanf("%c",&a);
	fflush(stdin);
	printf("%c\n",a-32);
	
	printf("输入一个大写字母\n");
	scanf("%c",&b);
	fflush(stdin);
	printf("%c\n",b+32);
	
	
	return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaozhazhazhazha/article/details/104186905