int main()
{
char ch1=‘m’;
char ch2=‘m’ - ‘32’;
printf(“请输入一个小写英文字母:%c\n转换后的字母为:%c\n”,ch1,ch2);
return 0;
}
它转换后的字母显示不应该是M吗?怎么会打出了分号。我把源代码中32换成空格就可以打出,为什么?
int main()
{
char ch1=‘m’;
char ch2=‘m’ - ‘32’;
printf(“请输入一个小写英文字母:%c\n转换后的字母为:%c\n”,ch1,ch2);
return 0;
}
它转换后的字母显示不应该是M吗?怎么会打出了分号。我把源代码中32换成空格就可以打出,为什么?
32不要加单引号,'32'的ascii不是32,空格的ascii码刚好是32,所以你用空格可以,这是碰巧了,正确的做法就是32不加单引号