我的printf函数有问题。 它显示了48,当我正在尝试printf char为-720时。
printf("%d",c)=48
为什么会这样?
答案 0 :(得分:1)
在大多数编译器中,char变量只能包含-128到127或0到255之间的值。-720的值溢出并导致48。
答案 1 :(得分:0)
char的范围是-128到127.当我们将值赋值为-720时。所以范围溢出了。
当我们溢出数据类型的值时。它将启用范围内的位。当范围超过127时,它将从-128开始分配。所以 将继续,直到给定的范围结束。
例如,您要将值赋值为char char a=255
。如果你打印这个
使用%d,它会将值打印为-1。它将在正0到127中分配128个字符。
现在剩下的是127.它将从负面分配。所以-128 - 127.现在答案是-1。