c语言 控制台输入3个小写字母,输出对应的大写字母,如果输入字符不符合要求,要求能提示错误并重新循环输入,直到输入形式正确后执行大小写转换并退出
为什么第一次输入错误后 第二次即使输入正确格式 也会先提示错误再给出转换后的答案呢?
10-14行为啥不在循环里
修改如下:
#include "stdio.h"
int check_input(char a)
{
if(a >= 'a' && a <= 'z')
{
return 0;
}
return 1;
}
int main()
{
char a, b, c, A, B, C;
printf("请输入3个小写字母: \n");
while(1)
{
scanf("%c %c %c",&a, &b, &c);
printf("输入的字符为 %c %c %c\n",a, b, c);
if(check_input(a) || check_input(b) || check_input(c))
{
printf("输入的字符不符合要求,请重新输入。\n");
continue;
}
A = a - 32;
B = b - 32;
C = c - 32;
printf("%c %c %c\n",A, B, C);
break;
}
}