首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

%u和%d的不同输出有关问题

2012-11-19 
%u和%d的不同输出问题[codeC/C++][/code]#includestdio.hmain(){int xsizeof(unsigned)int ysizeof(

%u和%d的不同输出问题
[code=C/C++][/code]
#include<stdio.h>
main()
{
  int x=sizeof(unsigned);
  int y=sizeof(unsigned char);
  printf("%u\t%u\n",x,y);
  printf("%u\n",sizeof(unsigned)-1-sizeof(unsigned char)-2);
  printf("%d\n",sizeof(unsigned)-1-sizeof(unsigned char)-2);
  getch();
}



输出
2 1
65534
-2
问题是为什么会输出65534呢?

[解决办法]

C/C++ code
//sizeof(unsigned)-1-sizeof(unsigned char)-2//2-1-1-2 = -2, 也就是0xFEunsigned int d = -2; //0xFF FF FF FE,因为无符号,所以是65534printf("%u", d);
[解决办法]
探讨
C/C++ code


//sizeof(unsigned)-1-sizeof(unsigned char)-2
//2-1-1-2 = -2, 也就是0xFE
unsigned int d = -2; //0xFF FF FF FE,因为无符号,所以是65534
printf("%u", d);

热点排行