OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5318|回复: 21

今天看了c语言深度剖析有个问题求助一下

[复制链接]

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
发表于 2014-5-19 17:07:56 | 显示全部楼层 |阅读模式
5金钱
int i=3;
int a;
a=++i+++i+++i;
是a=(((++i)++)+(i++)+i)吗
还有a+++++b
是(((a++)++)+b)吗
求大神解答

最佳答案

查看完整内容[请看2#楼]

自增加++及自减少--只能与变量名结合,所以“a=++i+++i+++i;”是“a=(++i)+(++i)+(++i)的意思。但是,a的结果是12还是15,这个在标准里是未定义的,这个表达式有问题,千万不要这样写!!!
就算有一天梦想成真,而你做好准备了吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1863
金钱
1863
注册时间
2011-3-29
在线时间
139 小时
发表于 2014-5-19 17:07:57 | 显示全部楼层
自增加++及自减少--只能与变量名结合,所以“a=++i+++i+++i;”是“a=(++i)+(++i)+(++i)的意思。但是,a的结果是12还是15,这个在标准里是未定义的,这个表达式有问题,千万不要这样写!!!
业余程序玩家。
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2014-5-19 19:14:24 | 显示全部楼层
如果是考试,好好看书,++的结合方向和优先级.

如果是自学,扔掉这本书.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2014-5-19 20:28:57 | 显示全部楼层
回复【3楼】ofourme:
---------------------------------
所以应该积极推行MCSRA C.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
 楼主| 发表于 2014-5-19 20:34:18 | 显示全部楼层
回复【3楼】ofourme:
---------------------- 
哦  谢谢了  明白了那a+++++b;就是(a++)+(++b)呗
就算有一天梦想成真,而你做好准备了吗?
回复

使用道具 举报

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
 楼主| 发表于 2014-5-19 20:35:11 | 显示全部楼层
回复【2楼】shihantu:
---------------------------------
谢谢 ,只是感兴趣他里面的一些小问题所以就拿来看看了。
就算有一天梦想成真,而你做好准备了吗?
回复

使用道具 举报

25

主题

163

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
金钱
443
注册时间
2012-4-29
在线时间
38 小时
发表于 2014-5-19 20:53:53 | 显示全部楼层
回复【3楼】ofourme:
---------------------------------
学习了,之前俺也一直搞不清,原来是这么回事。
回复

使用道具 举报

25

主题

163

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
金钱
443
注册时间
2012-4-29
在线时间
38 小时
发表于 2014-5-19 20:59:26 | 显示全部楼层
回复【4楼】shihantu:
---------------------------------
效果如何?
回复

使用道具 举报

27

主题

308

帖子

1

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2012-6-19
在线时间
19 小时
发表于 2014-5-22 13:14:57 | 显示全部楼层
那本书挺好的,很多可以借鉴。但我觉的这种钻牛角尖的问题就不用花时间去研究了,自己明白就好了,实际代码这样不好,会被骂死的。。
回复

使用道具 举报

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
 楼主| 发表于 2014-5-22 14:23:55 | 显示全部楼层
回复【9楼】602647310:
---------------------------------
嗯,明白,自己肯定不会这么写代码,估计也不会有人写代码,但是这题把许多问题都说明了,觉得一到这样的题,能看出来对++的理解多少。
就算有一天梦想成真,而你做好准备了吗?
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2014-5-22 18:41:09 | 显示全部楼层
回复【10楼】老虎的菜:
---------------------------------
C/C++的精粹在设计模式,这些所谓的题只是舞文弄墨.

只能说,知道最好,不知道也无伤大雅,如果真想知道,马上翻资料又不会影响大局.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
 楼主| 发表于 2014-5-22 20:19:37 | 显示全部楼层
回复【11楼】shihantu:
---------------------------------
c是一门工具,是用来解决的问题,像这样出题我也是不赞成的,但是像这种许多人不屑一顾的题,我觉得他有他存在的道理,理解了这些会更利于理解程序。我觉得这样的题给那些会一些c语言有一些实战经验但基本功不扎实的人看会有挺好的效果。
就算有一天梦想成真,而你做好准备了吗?
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2014-5-22 21:45:03 | 显示全部楼层
回复【12楼】老虎的菜:
---------------------------------
以下纯粹个人观点:

C的确是工具,但这种题目的意义仅仅有二,一是煞煞初学者的浮躁,二是显摆.不一定两者兼备,但遇到过第二种情况.

这种写法有如混乱大赛,可以作乐,但现阶段看不到实用之处.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

51

主题

1455

帖子

3

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2612
金钱
2612
注册时间
2011-1-25
在线时间
176 小时
发表于 2014-5-22 22:21:52 | 显示全部楼层
神经病啊,谁会这么用。??
一直努力就很好。
回复

使用道具 举报

1

主题

93

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2014-3-12
在线时间
9 小时
发表于 2014-5-31 10:59:56 | 显示全部楼层
看到这种题目,我就知道,冥冥之中,今天又遇见脑残了。。。
这么写有意义吗?!
不就省了几个括号,却死多了几千个脑细胞。
自己后期看的辛苦,别人看的也辛苦!
用的不谨慎还容易造成程序的BUG.调死你啊~
功夫再高、也怕羊刀
回复

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2013-9-10
在线时间
0 小时
发表于 2014-5-31 14:33:57 | 显示全部楼层
不必太钻牛角尖,写程序规范一下,就易懂了
回复

使用道具 举报

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
 楼主| 发表于 2014-6-1 17:57:15 | 显示全部楼层
回复【15楼】加速度:
---------------------------------
这种做法我估计机会很少有人会实际应用这么做。但是侧面反映着一些问题,如果你认为脑残 ,那你就觉得他存在有道理吗?  你知道他又卖了多少少本吗? 你会做吗?
就算有一天梦想成真,而你做好准备了吗?
回复

使用道具 举报

1

主题

93

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2014-3-12
在线时间
9 小时
发表于 2014-6-3 19:48:27 | 显示全部楼层
回复【17楼】老虎的菜:
---------------------------------
你看清楚主机发的题目好不好?
这++i++ 到底是先++i 还是 i++本来就取决于编译器,不同编译器的顺序是不同的,所以这个没有标准答案的。
我才不管他卖了多少本。。。误人子弟!你敢说你的做法就是对的?!
功夫再高、也怕羊刀
回复

使用道具 举报

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
 楼主| 发表于 2014-6-4 10:20:48 | 显示全部楼层
回复【18楼】加速度:
---------------------------------
请问++的结合方向是什么? 有些是编译器的问题 ,但是 c里面明确写了++的结合方向,++i++ 应该是++i 还是i++你去看看有没有唯一的答案。自己先把c学扎实了,再来讨论其他的。还有误人子弟这事,分人怎么看,他书里的这道题的意义不是让你写代码时这么用,目的是告诉你++的结合方向,还有贪吃法则,还有2楼所说的。如果你只是ctrl +c  和ctrl+v  在讨论这些 也就没什么意义了。
就算有一天梦想成真,而你做好准备了吗?
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-10-11 12:47:09 | 显示全部楼层
8楼说得对。。。
小小蜗牛
回复

使用道具 举报

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
 楼主| 发表于 2014-10-11 13:13:25 | 显示全部楼层
回复【20楼】jiutianshenjian:
---------------------------------
谢谢你
就算有一天梦想成真,而你做好准备了吗?
回复

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2014-12-6 21:30:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 13:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表