unsigned int 为65535 分别赋值给int,float结果为?

还有一题:c语言为什么要规定对所有用到的变量要“先定义,后使用”。这样做又什么好处?
不是说unsiged int 类型的范围是0~65536,而int类型的范围是-32768~32767?我用了几种编译环境对这赋值有等于-1的也有等于65535的,float的范围是不是也一样有变化?

C语言int范围与平台有关,不同平台范围可能不同有的是16位,有的是32位,如果刚巧你那个平台int范围比较大32位,你赋值过去就还是原值65535(在可表示范围内);否则如果是16位的当然就是-1了。

赋值给float应该还是原值,float范围比较大。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-09
仍然都是65535,这个数值并没有超过int和float的范围

所有的内存空间都必须先申请才能使用,这是规定。C语言是一个强数据类型的语言