我想知道,为什么在 C 中可以将整数隐式转换为字符?
例如:
int i = 2789;
printf("%c\n",i);
会返回一个字符,因为它会截断从最重要的位开始的位。 但通常你不能真正隐式转换,如果这意味着你会失去精度,那么为什么我可以在这里这样做?
最佳答案
这里没有隐式转换。
printf
是一个variadic 函数,这意味着任何 char
类型的参数都会被转换为 int
在函数被调用之前。您的参数已经是 int
类型,因此不会发生转换。
关于c - 为什么我可以在 C 中将整数隐式转换为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19068578/