C语言中的数据类型

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:59:49
为什么C语言中,把一个四字节值赋给一个2字节的变量~~
如5000 赋给int的a,为什么显示的是4294967196,
我知道int中数据占用两字节,表示不了那么大的数字,最多只能表示到32767的数字,可为什么会显示出4294967196~~~~`而不是去他数字
换句话说~~这数字是怎么来的?

计算机的事情
很规律也很难测
给它正确的指令它就会循规蹈矩
如果它识别不了就会有不可预知的结果

例如在C中定义一个变量来表示累积和
如果你不把这个首先赋值为0
通常它都会执行成不可预知的结果
因为在内存中可能还没有清除这个同名变量在另一个程序中的赋值情况
那么………………

其实又何必取追求这个没有意义的答案呢?
你要用C编程就得遵守它的语法格式和规则的嘛
不是嘛?o(∩_∩)o...

int在不同的编译系统内,占的字节数是不一样的。

turbo c中2字节。在VC中占4字节。所以能存储多大的数不用我告诉你了吧。

5000 赋给int的a显示的就是5000啊,
笔误?

概念很混乱啊,
5000不是4字节,
5000用2进制表示就是1 0011 1000 1000,
一字节8bit,5000两字节都没用完.

那么大的数表示-1吧,我觉得应该就是这样的吧- -