Board logo

标题: c语言范例开发大全\实例013\代码1\输出结果与书答案不一样 [打印本页]

作者: zachary    时间: 2011-7-15 09:35     标题: 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
作者: zachary    时间: 2011-7-15 09:36

我的环境是:vc6.0    win7 32 位
作者: fwbook    时间: 2011-7-18 08:54

1# zachary


没事。不同的编译器、不同的系统环境,对整数定义的范围不一致。
作者: zachary    时间: 2011-7-18 19:57

可以详细讲解一下吗?谢谢了
作者: fwbook    时间: 2011-7-19 08:53

4# zachary


这个主要和计算机的字长和编译器有关。例如,对于TC开发的时候,电脑字长为16位。所以整型的范围就从正负2的15次方。而VC是32位的程序,所以整型范围就像哦那个正负2的31次方。
作者: zachary    时间: 2011-7-21 01:00

嗯,我明白了,谢谢




欢迎光临 万卷图书 (http://www.wanjuanchina.net/) Powered by Discuz! 7.2