第1个回答 2008-08-01
unsigned int a=65535;
printf("%d",a); 改成printf("%u",a);
%d 是输出int 的格式符范围是.-32768~32767
.%u 是输出unsigned int ,范围是0~65535 .
2.\r表示回车,将光标移到行首,因此后面的字符将之前的aabb覆盖了.
\\是\的转义符
\'是'的转义符
第2个回答 2008-08-01
%d表示将变量以有符号整数形式输出,65535的二进制形式是11111111 11111111,对应的有符号整数就是-1.
\r表示回车,将光标移到行首,因此后面的字符将之前的aabb覆盖了.
\\是\的转义符
\'是'的转义符
......本回答被提问者采纳
第3个回答 2008-08-01
1.超出int范围,实际将它判断为-1的依据,就是补码那些东西了
2.注意\r是回到本行的开头,之后输出的\'123%5,会将原来输出的aabb给覆盖掉(%%是输出%的方式)
第4个回答 2008-08-01
printf("%d",a);
要把这个改成printf("%ld",a);
第5个回答 2008-08-01
1.益出了(少三点水)
2.aabb被覆盖