| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4247 人关注过本帖
标题:看似简单的程序啊~!
只看楼主 加入收藏
zzzhou
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-12-16
收藏
得分:0 
可别告诉我大家现在用的编译器都还是TC??????
2008-05-02 13:06
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
人云亦云
~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
    一:何种编译器出现的值不是90?
    二:有多少人真正用“C”写出的东西在应用中,而且经修改后TC无法胜任?
    三:有几个人真正用“C”写出的软件在网际中或者在生活中被应用着?
    四:几个人真的知道编译器的运行原理?
    五:为什么i值是90?几人真正确切地知道?
  ……
    为什么总是人云亦云,不去深究其中的道理?我的能力不够,但我很想知道为什么。如果都是人云亦云,会有牛顿定理么?会有  1+1=?的科研?会有计算机么?

    也不用说什么希望某某人某某事之类的,没什么用——我深切地体会得到,我没权利“希望”大家怎么怎么办,只是在这发发牢骚而已,不要有谁又来装高装深装有学问的样子来批判我来指责我,我最想听到的是真诚的、真心的声音。
2008-05-02 13:44
zzzhou
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-12-16
收藏
得分:0 
Dev C++4.9.9.2,结果60

有意见吗?
2008-05-02 14:05
tyfyyn
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-5-1
收藏
得分:0 
2008-05-02 14:05
etsunny
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-10-11
收藏
得分:0 
是人操作机器,还是机器操作人?...........
/*^_^*/

圣火从希腊蔓延,带着普罗米修斯的祝愿
2008-05-02 15:23
nakee
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-4-30
收藏
得分:0 
[bo]以下是引用 [un]纨酷子帝[/un] 在 2008-5-1 01:54 的发言:[/bo]

45+45=90

高手!!!!
2008-05-02 15:50
learnerboy
Rank: 2
等 级:论坛游民
帖 子:246
专家分:22
注 册:2007-11-11
收藏
得分:0 
支持楼上的!
2008-05-02 15:59
zzzhou
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-12-16
收藏
得分:0 
cz!
2008-05-02 16:03
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
回复 32# 的帖子
看到广陵的帖子,我思考了一下,然后决定做试验。我没有TC,所以只试验了Visual C Compile 15.0(即vc2008)和minGW GCC 3.4.5编译器。
经过适当修改(main()这种函数G++报错),得到一下结果:
VC:90(符合大家的期望)
GCC:60(?为什么?)

90很好理解。假设了先进行副作用的运算,再相加,且运算方向从左向右。
10+5=15,然后15*3=45,45+45=90。
但60的结果怎么来的呢?我反汇编了GCC的编译结果,原来,GCC对第一个运算(i+=5)和第二个(i*=3)采用了不同的寄存器来运算。于是在做i=i+i的时候,i的第一个值(即15那个值)被丢弃,i=i+i即相当于30+30=60。

再说一遍,这样的题目毫无意义,以后遇到这种题目,答案就是一种,就是未定义!!

这里回广陵。很多实用的程序都是用C写的。就算不是用C,也是用和C大有渊源的C++(可以说Win32上这样的程序占了99%),而且,GCC和VC都是十分流行的编译器。这样的编译器上,结果都不一样,你指望这道题还有什么研究的意义??

你要我举个例子吗?IE是C写的。QQ是C++(明显看出MFC的痕迹),而千千静听则是使用WTL写的——另一个高效简洁的C++库,而千千静听的解码器,则是使用纯C完成,而使用COM包装了的。试问,现在有谁不用这三样软件?(就算你用Linux吧,Linux上面大部分软件也是C/C++的产物)

作为计算机系的学生,我深知编译原理的重要性。我们已经开了编译原理课程,而且相信大多数计算机系和非计算机系都将开设这门课(课本前言的原话),你说懂得编译器运行原理的人有多少?至少专门学计算机的不可能不了解。

最后一个问题。你说不要人云亦云。标准也是人云亦云吗?好,就算我不相信标准,我亲自做了试验(这是我这次发帖的缘由,也是我耐着性子做这个试验的缘由,事实上,如果两个编译器结果相同,我有个解释运行版本的C,在那个上面,结果一定是不同的,原因,学过编译原理的都懂。),这也叫人云亦云吗?这种问题,我希望(同样,我也不喜欢“希望”这个词,因为根本不可能实现!)大家不要再追究这种东西了。完全没有追究的价值。

再说一遍,“磨刀不误砍柴工”,了解标准并不是人云亦云,学习标准设立的思想也不是人云亦云。如果你都人云亦云去了,谁去继承前人的成果?如果每个人都持怀疑的态度的话,谁去研究那些进步的科技?怀疑是必要的,但是是要在自己有了怀疑的资格以后才能去怀疑的。在还没有怀疑的资格的时候,请相信权威!

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-03 00:29
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
楼上牛。。。。。。。。Orz

[color=white]
2008-05-03 00:39
快速回复:看似简单的程序啊~!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024176 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved