输入一个字符,判断其是否为小写字母,如果是小写字母就将其转换为大写字母输出

小写字母,则原样输出。编译啥的没有问题,就是得不出正确的运行结果,求大神解答。
# include <stdio.h>

int main(void)
{
int ch1,ch2;

printf("输入一个字符:");
scanf("%c",&ch1);

if (ch1 >= 'a' && ch1 <= 'z')
{
ch2 = ch1 - 32;
printf("该字符为小写字母,其大写字母为:%c\n",ch2);
}

else if(ch1 >= 'A' && ch1 <= 'Z')
printf("该字符为大写字母:%c\n",ch1);

else
printf("该字符为:%c\n",ch1);

return 0;
}

你这个程序总体上是没问题的
你这个程序应该把ch1类型定义为char而不是int,但好像你定义成int也没什么问题,系统会强制类型转换
并且你定义另外一个ch2是没有必要的,直接对ch1操作就可以了,ch1-=32追问

谢谢,确实需要把int 换为char, 本来开始我以为我用的是char ,没想到习惯了自然的输入了int ,怪不得找不到错误在哪,卡了许久,原来是因为粗心

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答