C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因

2025-02-27 23:04:24
推荐回答(1个)
回答1:

原因就是 不同的编译系统对int等变量类型定义的存储空间字节数不一样,在谭浩强版的C语言中第三章关于变量类型的定义中,有专门很大一页讲解这个问题。
TC2.0编译系统对int字节定义的存贮空间为32bit,所以a=0x9a,b=~a=0xffff-0x9a=0xff65;
Visual C++6.0编译系统对int字节定义的存贮空间为64bit,所以a=0x9a,b=~a=0xffff ffff-0x9a=0xffff ff65;
洗完你能看得明白。