unsigned u=65535;printf("%u,%o,%x,%d\n",u,u,u,u);运行结果疑问求解答
#include<stdio.h>void main()
{
unsigned u=65535;
printf("%u,%o,%x,%d\n",u,u,u,u);
}
运行结果是65535,177777,ffff,65535
最后一个 u 输出结果为什么是 65535 而不是 -1 呢。%d 不是有符号整型吗?
2015-09-22 20:51
不好好看书,这不,傻眼了吧
2015-09-22 21:05
2015-09-22 22:11
程序代码:#include <stdio.h>
#include <limits.h>
int main( void )
{
unsigned u = UINT_MAX;
printf( "%u, %o, %x, %d\n", u, u, u, u );
return 0;
}一种可能的输出如下(希望你能明白为什么我要强调“一种可能的”)4294967295, 37777777777, ffffffff, -1
2015-09-23 08:56

2015-09-23 10:27
2015-09-23 10:40