int main(){
char a = 65;
a=a+5;
printf("%d\n",a);
}
我想我至少会收到一个警告,提示我正在尝试打印 %d
但变量是 char
为什么这样打印没有问题?
最佳答案
很大程度上由于历史原因,字符是小整数,所有整数运算都在 int
中完成类型或更宽。软件有时不得不将字符作为整数代码处理,有时作为要打印的东西处理,因此 C 使用 char
开发。类型灵活。
无论int
或 unsigned int
可以在表达式中使用,包括函数参数,你可以使用 char
相反。
如果我们重新设计语言,我们可能会区分 char
-作为字符来自 char
-as-integer 并且需要显式转换才能在它们之间进行转换。然而,语言就是这样。
关于c - 将字符打印为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54445849/