linux下int与long的存储长度都是4B,那是不是两者就可以随便用了?
问题1:我是用LINUX来学C的,linux下int与long的存储长度都是4,那是不是就可以都用int或是long呢?问题2:如果把在linux下写的程序移植到win系统下,那么linux下用int定义的变量它的存储长度是4还是2呢?
谢谢大侠。
我试验了第2问题:
在LINUX下定了一个int a; a= 70000; printf("%d",a);正常输出
然后把程序移到win下执行,也可以正常输出,是不是就是说明在linux下定义的int到win下,存储长度依然为4B?
我没有用过TC2,顺便问一下,用tc2编译一个int的变量,它的存储长度是2吗?
谢了。
[此贴子已经被作者于2007-9-29 14:00:34编辑过]
----------------解决方案--------------------------------------------------------
int和long的范围虽然一样,但输入输出格式不同,还是不能混为一谈
----------------解决方案--------------------------------------------------------
如果我在一个地方用了int,我其他地方的输入输出格式也会用int的格式的,还有就是二者都用%d就可以输入输出了,等于一样呀。
现在两者的存储长度都是4B,我想知道二者在linux下有没有什么区别,请赐教,谢谢。
----------------解决方案--------------------------------------------------------
long正规的输出格式应该是%ld,不过有的编译器好像可以用%d,还是分开的好,有可能会影响程序的移植性.
----------------解决方案--------------------------------------------------------