关于S1E7讲课后作业 动动手第一问
为什么无法打印char类型字符?为什么对%d和%u调换后打印其对应的 ASCII 码的数值相反?
关于打印有符号数和无符号数是否取决于输出格式,而不取决于对其类型的声明?
111
1、因为char型(即ascii码)的上限是127,自然无法打印255
2、这个需要了解有无符号整数在内存中的存储情况
char型占1个字节,即8个二进制数位,其中第一位表示正负
例如:11111111表示-128,01111111表示+127
而无符号char型也占8个数位,但没有表示正负的符号
例如:11111111表示255,01111111表示127
给i和j赋值255时,实际上相当于赋值11111111
它们虽然一个有符号,一个无符号,但内存中的数值都是11111111
当用%d输出时,因为%hhd的最大值为127,所以产生了溢出,于是自动输出-1
当用%u输出时,没有发生溢出,因此正常输出
3、是的
页:
[1]