C中整型和长整型有什么区别?除了一个占据2个字节另一个占据4个字节?谢谢~

譬如在输入的时候出现 scanf(“%d %ld”,&a,&b)中a,b的数具体怎么办?请举个实例数!谢谢~

一个字节少 ,一个存字节多,
在标准C中的int的字节长度小于long大于short就行了,多数平台上int占4个字节(32位,不是16位!),所以能表示的范围就是2的32次方,表示为数值是-2^(32-1) ~ 2^(32-1) -1 ( ^ 表示成方 )(就是 -2^31 ~ 2^31 - 1, 而不是2^16...)
根据不同的需要,int包括以下定义:
unsigned short int 无符号2字节短整形
short int 带符号2字节短整形 - 32768 ~ 32767
unsigned int 无符号4字节整形 0 ~ 2^32 -1 (这个是对的)
int 4字节整形 - 2^31 ~ 2^31 - 1
int 64 64位(8字节)整形 - 2^63 ~ 2^63 - 1 (这个很少用到,一般是表示为高位int和低位int,贝式弧现对它的范围也给错了)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-17
输入时没什么区别,只是b的取值范围比a大.例如b可以等于35000. a就不可以取这个数.
第2个回答  2010-08-17
这个不能一概而论,要看编译系统,要是tubor c的话,整形和长整型是有区别,vc和dev都是没有区别,统一4个字节。
输入的时候没什么限制,只要不超过其范围,四个字。
相似回答