二级C语言一道题目,麻烦高手们来解答一下哈*^_^*

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:38:53
以下程序的输出结果是
Main()
{ unsigned int a;
Int b=-1;
a=b;
printf(“%u”,A);
}
A)-1
B)65535
C)32767
D)-32768
应选那个呀,顺便解释一下哈,谢了

应该是B(如果你机器是16位的话)

int型的-1在32位机里如下表示1111111111111111(就是1的补码,就是所有位取反再加1)

(对于有符号型,第一位永远是1,表示它是个负数,但是无符号型没有这一位,所以可以多表示很多数。