当前位置: 代码迷 >> C语言 >> 一个简单的问题
  详细解决方案

一个简单的问题

热度:97   发布时间:2007-10-18 10:41:24.0
一个简单的问题
#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编辑过]



----------------解决方案--------------------------------------------------------
- -
----------------解决方案--------------------------------------------------------
  相关解决方案