打印值超过255的char

时间:2014-12-11 23:29:12

标签: char printf

我的printf函数有问题。 它显示了48,当我正在尝试printf char为-720时。

printf("%d",c)=48

为什么会这样?

2 个答案:

答案 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。

相关问题