在VC6.0里将long int型数据赋值给int型变量后为什么数值不变

#include<stdio.h>void main(){ long int a; int b; a=65537; b=a; printf("a=%d,b=%d尀n",a,b);}
2025-04-13 23:09:19
推荐回答(1个)
回答1:

VC6.0里 long (也作 long int ) 和 int 都是4个字节32位的,是一样的。
long long int 是8字节64位的。
如果你想测试数据类型强制转换的截断效应,可以:
1.把 long int a 改为 long long int a; 并将a设为大于等于 2^32 的值;
或者

2.把 int b 改为 short b。