joc*_*ode 2 c integer casting char
我想知道,为什么在C中隐式从整数转换为char?
如果例如:
int i = 2789;
printf("%c\n",i);
Run Code Online (Sandbox Code Playgroud)
会给我一个char回来,因为它会从最重要的那些开始截断位.但是,如果它意味着你将失去精确度,那么通常你不能真正地暗示,所以为什么我可以在这里做呢?
这里没有隐含的演员.
printf是一个可变函数,这意味着在调用函数之前,任何类型的参数都会char被转换int为.您的参数已经是类型int,因此不会发生转换.