新足迹

 找回密码
 注册

精华好帖回顾

· 我用上次说的那个烫发棒烫出来的效果,很不错!! (2005-8-26) liz · 强烈推荐《Immune》-视频已经加上,书图片加上,方便感兴趣的朋友,感谢一起讨论 (2022-1-24) yuxuanlin
· 给Toyota车配备用钥匙 (2016-3-17) Bigman · 两周,三个offer,两个合同,终于当上房奴。 (2009-7-26) dreaman
Advertisement
Advertisement
查看: 2861|回复: 55

funny code [复制链接]

退役斑竹

发表于 2010-11-17 08:43 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
int i=0;
int z = ++i + ++i + ++i + ++i;


Question: z = ? (DON’T CHEAT!!!)

The answer will be attached



[ 本帖最后由 阿Ka 于 2010-11-17 10:15 编辑 ]

评分

参与人数 1积分 +4 收起 理由
kr2000 + 4 可以放答案了吗

查看全部评分

Advertisement
Advertisement

发表于 2010-11-17 08:51 |显示全部楼层
此文章由 orange0328 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 orange0328 所有!转贴必须注明作者、出处和本声明,并保持内容完整
1+2+3+4?

评分

参与人数 1积分 +6 收起 理由
阿Ka + 6 谢谢奉献

查看全部评分

2008年度奖章获得者

发表于 2010-11-17 08:52 |显示全部楼层
此文章由 jungle 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jungle 所有!转贴必须注明作者、出处和本声明,并保持内容完整
16吧 我估计

评分

参与人数 1积分 +2 收起 理由
rogerk + 2 正解。。。

查看全部评分

特殊贡献奖章

发表于 2010-11-17 08:56 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 orange0328 于 2010-11-17 09:51 发表
1+2+3+4?

同上

谁这么写代码,靠,害人吗

[ 本帖最后由 kr2000 于 2010-11-17 09:57 编辑 ]

退役斑竹

发表于 2010-11-17 08:58 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
继续等待最佳答案

退役斑竹

发表于 2010-11-17 09:02 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
继续等待乱码,大老虎等人的出现
Advertisement
Advertisement

发表于 2010-11-17 09:02 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
z是10
顺序可能是4+3+2+1

评分

参与人数 1积分 +6 收起 理由
阿Ka + 6 谢谢奉献

查看全部评分

退役斑竹

发表于 2010-11-17 09:05 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我也估计是从右到左运算

2008年度奖章获得者

发表于 2010-11-17 09:06 |显示全部楼层
此文章由 jungle 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jungle 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2010-11-17 09:43 发表
int i=0;
z = ++i + ++i + ++i + ++i;


Question: z = ? (DON’T CHEAT!!!)

The answer will be attached



我知道了,这个答案应该是编译错误,因为 z 没有定义

评分

参与人数 1积分 +6 收起 理由
阿Ka + 6 谢谢奉献

查看全部评分

退役斑竹

发表于 2010-11-17 09:06 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jungle 于 2010-11-17 10:06 发表


我知道了,这个答案应该是编译错误,因为 z 没有定义


你太油菜了

特殊贡献奖章

发表于 2010-11-17 09:07 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
老大怎么还不来?

我等着看答案
Advertisement
Advertisement

特殊贡献奖章

发表于 2010-11-17 09:08 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jungle 于 2010-11-17 10:06 发表


我知道了,这个答案应该是编译错误,因为 z 没有定义

要看是什么语言先

2010年度奖章获得者

发表于 2010-11-17 09:11 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
z= exception

lol

发表于 2010-11-17 09:16 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 月亮 于 2010-11-17 10:05 发表
我也估计是从右到左运算


嗯,不同语言的compiler用的parser算法不同,对expression parse形成 expression tree的时候,有的是right-most开始,有的是从left-most开始,不过以第一种情况居多.

我同意这个题不能compile,不过这是2nd thought,第一个反应还是expression tree,computer science害死人阿

[ 本帖最后由 乱码 于 2010-11-17 10:17 编辑 ]

退役斑竹

发表于 2010-11-17 09:17 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jungle 于 2010-11-17 10:06 发表


我知道了,这个答案应该是编译错误,因为 z 没有定义


但是javascript中,是不需要定义的吧,不过我已经修正的标题,请大家只讨论运算逻辑本身啊

发表于 2010-11-17 09:18 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2010-11-17 10:17 发表


但是javascript中,是不需要定义的吧,不过我已经修正的标题,请大家只讨论运算逻辑本身啊


no,javascript中不承认int,只有var

评分

参与人数 1积分 +1 收起 理由
阿Ka + 1 check the answer...

查看全部评分

Advertisement
Advertisement

退役斑竹

发表于 2010-11-17 09:21 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
再不公布,估计要被拍砖了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 3积分 +10 收起 理由
hbyu + 2 精品文章
乱码 + 3 你太有才了
kr2000 + 5 感谢分享

查看全部评分

特殊贡献奖章

发表于 2010-11-17 09:24 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整

谁写的?拉出去打靶
我想那些code converter能解决这个问题吗?

发表于 2010-11-17 09:26 |显示全部楼层
此文章由 乘物以游心 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乘物以游心 所有!转贴必须注明作者、出处和本声明,并保持内容完整
z = 10 吧?

留记号看结果。

退役斑竹

发表于 2010-11-17 09:26 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不过我觉得有必要讨论下顺序-
我觉得是1+2+3+4, ++先

特殊贡献奖章

发表于 2010-11-17 09:29 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
16还有可能,11怎么算的?
Advertisement
Advertisement

退役斑竹

发表于 2010-11-17 09:30 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
++先没错,但运算顺序从右往左

评分

参与人数 1积分 +6 收起 理由
阿Ka + 6 谢谢奉献

查看全部评分

2010年度奖章获得者

发表于 2010-11-17 09:31 |显示全部楼层

来个简单的

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
var x = 0;

var y = x++;


y = ?

发表于 2010-11-17 09:34 |显示全部楼层
此文章由 realfenglin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 realfenglin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个CODER,之前一个德国同学一起做项目还真写过。导师审查的时候问他:你真是来自德国的吗?
TOP CODE 上也有类似的CODE,读的很累。多数情况下读不懂。
不管怎么变,只有一点不变:永远都是穷人先倒霉!!!

发表于 2010-11-17 09:34 |显示全部楼层
此文章由 realfenglin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 realfenglin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-17 10:31 发表
var x = 0;

var y = x++;


y = ?


0 ? (JAVA)
不管怎么变,只有一点不变:永远都是穷人先倒霉!!!

2010年度奖章获得者

发表于 2010-11-17 09:34 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
10 和 16 都有道理,

那个 = 11 真的应该拉出去斩首。
Advertisement
Advertisement

发表于 2010-11-17 09:35 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2010-11-17 10:26 发表
不过我觉得有必要讨论下顺序-
我觉得是1+2+3+4, ++先


++肯定是先,但node operator(+)两边的operands要形成node的left node/right node,依次往root上push,一但expression tree形成之后,caculation的时候,用tree 的depth-first traversal来做.

我知道很多语言的compiler都是用right most的策略来compile.

发表于 2010-11-17 09:36 |显示全部楼层
此文章由 realfenglin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 realfenglin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谁能说说11 怎么来的呢?

退役斑竹

发表于 2010-11-17 09:42 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 月亮 于 2010-11-17 10:30 发表
++先没错,但运算顺序从右往左


no! i just conduct a test:

var i = 0
z = ++i / ++i + ++i

and z = 3.5 means z = 1 / 2 + 3, and its from left to right

发表于 2010-11-17 09:43 |显示全部楼层
此文章由 rogerk 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rogerk 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2010-11-17 10:42 发表


no! i just conduct a test:

var i = 0
z = ++i / ++i + ++i

and z = 3.5 means z = 1 / 2 + 3, and its from left to right


先算乘除后算加减的规则你可还记得?

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部