免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: safedead
打印 上一主题 下一主题

[C] [C实现]条件表达式的执行顺序是固定的吗? [复制链接]

论坛徽章:
1
摩羯座
日期:2013-12-19 10:04:07
151 [报告]
发表于 2012-09-29 14:47 |只看该作者
wwwsq
就这句代码
水平比我这个准毕业生还次

论坛徽章:
0
152 [报告]
发表于 2012-09-29 14:53 |只看该作者
本帖最后由 wwwsq 于 2012-09-29 14:56 编辑
OwnWaterloo 发表于 2012-09-29 14:33
回复 149# wwwsq

没说coding for 饭不好。 重点是即使coding for 饭也一样是在负责。



何谓fun这个因人而异。有些人就是喜欢征服困难,有些人就是喜欢登山,那为什么不可以是乐趣呢?

在踏平一个个晦涩难缠项目的过程中,我是觉得有些乐趣的。

写点自娱自乐的代码,然后看到晦涩的代码就躲着走,我觉得底气有点不足。

写点自娱自乐的代码,然后自己写一堆晦涩的代码,我觉得是不负责任。

我们并不怕晦涩的代码。对付晦涩代码的办法不是去掌握那些晦涩的语法,而是知道这个晦涩代码是在做什么之后,想办法把晦涩的代码变成浅显的代码。





论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
153 [报告]
发表于 2012-09-29 14:56 |只看该作者
wwwsq 发表于 2012-09-29 14:53
何谓fun这个因人而异。有些人就是喜欢征服困难,有些人就是喜欢登山,那为什么不可以是乐趣呢?

在踏平一个个晦涩难缠项目的过程中,我是觉得有些乐趣的。

写点自娱自乐的代码,然后看到晦涩的代码就躲着走,我觉得底气有点不足。


哟? 你怎么开始持相反观点了?

BTW:我的观点没变。": ?" 是山, "++i = i++" 是崖。需要克服(这词都说重了,就轻轻跨过而已)是前者。

论坛徽章:
0
154 [报告]
发表于 2012-09-29 15:02 |只看该作者
OwnWaterloo 发表于 2012-09-29 14:56
哟? 你怎么开始持相反观点了?

BTW:我的观点没变。": ?" 是山, "++i = i++" 是崖。需要克服(这词 ...



你的观点是:写出垃圾代码不是水平低,看不懂垃圾代码才是水平低。

于是我做了个实验,写了段垃圾代码‘x = (++i = i++)’,问你是否能看懂。你明显没看懂还冒充看懂了。

看不懂垃圾代码我觉得是很正常的,因为有些代码写出来就是那么别扭。要理解那些垃圾代码,除了实际运行一下,你没有其他确定的办法。

写出晦涩代码的人才是水平低。

论坛徽章:
1
摩羯座
日期:2013-12-19 10:04:07
155 [报告]
发表于 2012-09-29 15:06 |只看该作者
回复 107# 边学CPP边骂CPP


对于 L && R
不管多少个CPU都是保证结果的
都是先L后R的

论坛徽章:
1
摩羯座
日期:2013-12-19 10:04:07
156 [报告]
发表于 2012-09-29 15:09 |只看该作者
回复 118# pandaiam


    先后有
但是不保证L先还是R先而已
好吧 这个应该不会出现什么并发吧 ??

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
157 [报告]
发表于 2012-09-29 15:09 |只看该作者
wwwsq 发表于 2012-09-29 15:02
你的观点是:写出垃圾代码不是水平低,看不懂垃圾代码才是水平低。

你又开始歪曲了。
你将": ?"与"++i = i++"统称垃圾代码。
而我不是, 就像前面说的, ": ?" 不是, "++i = i++" 是。
看不懂前者是水平次, 分不清两者依然是水平次。


wwwsq 发表于 2012-09-29 15:02
于是我做了个实验,写了段垃圾代码‘x = (++i = i++)’,问你是否能看懂。你明显没看懂还冒充看懂了。

看54楼。 我不能确认你一定会去看, 这只是为了避免你诬陷我而已。


wwwsq 发表于 2012-09-29 15:02
看不懂垃圾代码我觉得是很正常的,因为有些代码写出来就是那么别扭。要理解那些垃圾代码,除了实际运行一下,你没有其他确定的办法。
写出晦涩代码的人才是水平低。


"first :when_non_zer ? when_zero"不需要实际运行就能确定它的执行方式。
"++i = i++" 同样不需要实际运行就能确定它没有统一的执行方式

除了吃下去之外,没有其他方法分辨是否是垃圾,才是水平次。

论坛徽章:
3
巳蛇
日期:2013-10-03 10:41:48申猴
日期:2014-07-29 16:12:04天蝎座
日期:2014-08-21 09:24:52
158 [报告]
发表于 2012-09-29 15:12 |只看该作者
wwwsq 发表于 2012-09-29 15:02
你的观点是:写出垃圾代码不是水平低,看不懂垃圾代码才是水平低。

于是我做了个实验,写了段垃圾 ...


你一直没懂啊.

ow说的是你这个:

不过在实践中,比较推荐的做法是不要在 if (expr_a || expr_b) 的时候做什么实质性的‘写’操作。因为那样的代码读起来太累,容易隐藏bug。
====

ow认为,这种 ||  &&  ? :  和你说的这种"写"操作没什么错(已经确定的行为), 不会带来你说的这种bug,读起来不会累的,都是这样写的..
你后面就啪扔出来个 (++x=x++) .....

论坛徽章:
0
159 [报告]
发表于 2012-09-29 15:12 |只看该作者
本帖最后由 wwwsq 于 2012-09-29 15:14 编辑
OwnWaterloo 发表于 2012-09-29 15:09
你又开始歪曲了。
你将": ?"与"++i = i++"统称垃圾代码。
而我不是, 就像前面说的, ": ?" 不是, "++ ...


“它没有统一的执行方式”

这根本就是不是一个结果。这是一句废话。

你可以更直接的说“我不知道这句话编译之后会做什么”。事实上在特定的环境里面编译执行之前,几乎没有人知道这个句子会怎么执行。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
160 [报告]
发表于 2012-09-29 15:14 |只看该作者
wwwsq 发表于 2012-09-29 15:02
你的观点是:写出垃圾代码不是水平低,看不懂垃圾代码才是水平低。

于是我做了个实验,写了段垃圾 ...

有点歪曲了吧,你怎么能把水平低看不懂的代码和那种根本就是错误的代码放在一起比较呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP