#include <stdio.h>
int main()
{
int a=0x09;
int b=0x10;
unsigned long long c=0x123456;
printf("%x %llx\n",a,b,c);
return 0;
}
...全文
24023打赏收藏
printf问题
一段程序如下,vs 2008下编译输出结果是: 9 12345600000010 不理解,哪位高人给我解释下? #include int main() { int a=0x09; int b=0x10; unsigned long long c=0x123456; printf("%x %llx\n",a,b,c); return 0; }
unsigned long long c=0x123456;
额 楼主能不能解释下这条语句是啥意思啊 、
[/Quote]
声明一个变量c,它的类型是unsigned long long int,值用十六进制表示是0x123456
int是内置数据类型,unsigned和long是修饰符。在用short或long修饰int时,int可以不写出来。
unsigned表示不记录正负信息,那么就多出记录正负的那一个bit,所以能够记录的最大正数就大了一倍。