一个简单的问题
#include <stdio.h>#include <stdlib.h>
int main()
{
unsigned int a=65535;
signed int b;
b=a;
printf("%d",b);
system("PAUSE");
return 0;
}
请问以上程序的输出为什么是65535,而不是-1呢?
----------------解决方案--------------------------------------------------------
是不是我用的编程工具里int型在内存中占32位的原因?
----------------解决方案--------------------------------------------------------
我编译了 是-1啊 而且b是int型 值绝对在-32768和32767之间的
----------------解决方案--------------------------------------------------------
楼上用的什么工具啊?
----------------解决方案--------------------------------------------------------
不同的编译器的数据类型在内存中所占的字节是不同的,LZ可以用sizeof(int);来看一下你的编译器中int所占字节。
[此贴子已经被作者于2007-10-19 13:09:53编辑过]
----------------解决方案--------------------------------------------------------
- -
----------------解决方案--------------------------------------------------------