免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1248 | 回复: 6
打印 上一主题 下一主题

求救!求救!!!@ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-21 17:37 |只看该作者 |倒序浏览
关于数据的输出问题:
            程序是:
                   main()
                    {long a=32763;
                      long b=32763;
                           printf("a=%d\n",a);
                           printf("b=%d\n",b);
                           printf("a=%d,b=%d\n",a,b);
                           printf("a=%d,b=%ld\n",a,b);
                           printf("a=%d,b=%d,b=%ld\n",a,b,b);
                            printf("a=%ld,b=%ld",a,b);
                     }
              好郁闷,照理说输出结果应该全是327673的呀!
                 但,运行了一下,却是:a=32763
                                             b=32763
                                             a=32763,b=0
                                             a=32763,b=2147155968
                                             a=32763,b=0,b=32763
                                             a=32763,b=32763
       谁能帮我解决一下这个问题吗???

论坛徽章:
0
2 [报告]
发表于 2006-03-21 18:52 |只看该作者
这可能跟编译器有关吧
我运行的结果是:
a=32763
b=32763
a=32763,b=32763
a=32763,b=32763
a=32763,b=32763,b=32763
a=32763,b=32763

Terminated with return code 0
Press any key to continue ...

(我用的编译器是MinGW Developer Studio 2.05,文件保存为text.cpp)

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2006-03-21 23:01 |只看该作者
》》照理说输出结果应该全是327673的呀!
你按照的是啥道理?
说来让大家听听。

论坛徽章:
0
4 [报告]
发表于 2006-03-22 01:17 |只看该作者
原帖由 爱随柳飘 于 2006-3-21 17:37 发表
关于数据的输出问题:
            程序是:
                   main()
                    {long a=32763;
                      long b=32763;
                           printf("a=%d\n",a) ...

输出的第三行我就理解不了了;比如按照内存结构理解:
假设32位系统上的long占了8个字节int占4个字节,打印时使用%d打印4个字节,那么b也不应该输出是0,有那位高手解释一下?

论坛徽章:
0
5 [报告]
发表于 2006-03-22 08:46 |只看该作者
用的是 16 位编译器,估计就是 TC.

论坛徽章:
0
6 [报告]
发表于 2006-03-22 09:09 |只看该作者
是啊,用的是Turbo C
int占的是2个字节,16位.
long占4个字节,32位.
32763以二进制来算.2个字节是已经足够了的呀.更不用说得4个字节了呀!!
有问题?

论坛徽章:
0
7 [报告]
发表于 2006-03-22 09:37 |只看该作者
估计和中国的教育制度有关,不知道为什么大家都喜欢弄些数字来printf
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP