可能重复:
负 ASCII 值
int main() {
char b = 8-'3';
printf("%c\n",b);
return 0;
}
我运行这个程序,我得到一个看起来像问号(?)的标志。
我对你的问题是为什么它打印那个而不打印任何内容,因为据我所知,ASCII 表中 b 的值是负 43,这是不存在的。
顺便说一句,当我编译这段代码时:
int main() {
char b = -16;
printf("%c\n",b);
return 0;
}
我什么都得不到。