问题遇到的现象和发生背景
输入一个字符,判断它是否为大写字母,如果是,将它转换成小写字母,如果不是不转换
可是输出始终是“?”
问题相关代码,请勿粘贴截图
include<stdio.h>
int main()
{
char ch;
scanf_s("%c", &ch);
if (ch >= 'A' && ch <= 'Z') {
ch = ch + 32;
printf("%d", ch);
}
else
{ printf("%c\n", ch); }
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
使用了新的算法,结果却相同
int main() {
char ch, b;
scanf_s("%c", &ch);
b = (ch > 'A' && ch < 'Z') ? (ch + 32) : ch;//warning!!!!!//
printf("%c", b);
return 0;
我想要达到的结果
可以正常转换