返回列表 回复 发帖

c语言范例开发大全\实例013\代码1\输出结果与书答案不一样

void main() {
        int a,b;                                        /*定义整型变量*/
        unsigned u1,u2;                         /*定义无符号型变量*/
        u1=0;                                        /*赋值*/
        a=32767;
        b=a+1;
        u2=u1-1;
        printf("%d,%d\n",a,b);                 /*以整型形式输出*/
        printf("%u,%u\n",u1,u2);                 /*以无符号型形式输出*/
}

书中:

32767,-32768
0,65535

我的:
32767,32768
0,4294967295
我的环境是:vc6.0    win7 32 位
1# zachary


没事。不同的编译器、不同的系统环境,对整数定义的范围不一致。
可以详细讲解一下吗?谢谢了
4# zachary


这个主要和计算机的字长和编译器有关。例如,对于TC开发的时候,电脑字长为16位。所以整型的范围就从正负2的15次方。而VC是32位的程序,所以整型范围就像哦那个正负2的31次方。
嗯,我明白了,谢谢
返回列表