'+'两端表达式运算顺序
本帖最后由 小蒙 于 2017-10-21 14:57 编辑C primer plus中有这样一段叙述:
int x =a * b + c * d
C语言没有规定先算+号前半部或者后半部,在不同的硬件上完成效果不一样,可能在一种硬件上是从左至右进行,可能在另一种硬件上就是先算c * d然后再算a * b,然后再相加。接着给出了另一个例子。
int x = num / 2 + num++
书里说这个表达式的计算顺序就有不同的可能。但是据我理解,表格显示自增运算符的优先级大于除号,从这个角度看,应该先算自增,然后算除法,最后加法,哪一种是对的?
{:10_258:}
你可以把自增看成是一个数字,它就是一个整体。再按照优先级计算就可以。
别在纠结于这些,只要知道优先级,写代码的时候注意一下优先级,该加()加()。太在意这些会影响你写代码的思绪的。就像那个三个自增相加结果是多少的问题一样,别太纠结,平时也不太会这么用,一来这样写自己要思考,需要时间,二来别人看也费劲。 丶忘却的年少o 发表于 2017-10-21 16:59
你可以把自增看成是一个数字,它就是一个整体。再按照优先级计算就可以。
别在纠结于这些,只要知道优先级 ...
谢谢,我想着想着就不自觉的跑偏{:5_109:} 丶忘却的年少o 发表于 2017-10-21 16:59
你可以把自增看成是一个数字,它就是一个整体。再按照优先级计算就可以。
别在纠结于这些,只要知道优先级 ...
大牛你好,我又发了一个问题贴,有时间能不能帮忙看一下? 谢谢。看这里 小蒙 发表于 2017-10-23 11:48
大牛你好,我又发了一个问题贴,有时间能不能帮忙看一下? 谢谢。看这里
你发出来的时候我就看过了,只是我不知道,就不回了,怕误导了你,我也只是个初学者{:10_278:} 丶忘却的年少o 发表于 2017-10-23 13:13
你发出来的时候我就看过了,只是我不知道,就不回了,怕误导了你,我也只是个初学者
谦虚谦虚。 小蒙 发表于 2017-10-23 13:16
谦虚谦虚。
没有没有,真的。我只学了半年不到 丶忘却的年少o 发表于 2017-10-23 13:18
没有没有,真的。我只学了半年不到
那也比我强,我只学了1个月不到。。。 小蒙 发表于 2017-10-23 13:20
那也比我强,我只学了1个月不到。。。
你应该是看C primer plus学吧?我看不进书,我就只看了视频 丶忘却的年少o 发表于 2017-10-23 13:22
你应该是看C primer plus学吧?我看不进书,我就只看了视频
对,刚才那个帖子我又试了几个例子,“文件结束符”这个东西确实scanf和getchar都收不了他们,我能做到的只能被动的让文件结束符一直走到主调函数,放在主调函数的倒数第二行(return 0;上面),才能比较自然的退出程序。 丶忘却的年少o 发表于 2017-10-23 13:22
你应该是看C primer plus学吧?我看不进书,我就只看了视频
你用clion么?clion的终端怎么样输入文件结束符,ctrl+D在这里不好用,我只能把系统terminal打开,在那里运行程序,然后ctrl+D才能用。 小蒙 发表于 2017-10-23 13:32
你用clion么?clion的终端怎么样输入文件结束符,ctrl+D在这里不好用,我只能把系统terminal打开,在那里 ...
我没用过,我到先在只用VC++6.0和linux,不过linux很少用,调试太麻烦,基本用VC++6.0,因为不做什么大的编程,也没什么新规则,就没换编译器,能用就成
页:
[1]