标题: 问各位大神一个c语言的问题(求解惑!!!) [打印本页]

作者: xjh272935444    时间: 2017-5-1 20:18
标题: 问各位大神一个c语言的问题(求解惑!!!)
if(cnt++>400)
                   {EX0=1;return;}

cnt++;
if(cnt>400)
                   {EX0=1;return;}
这两个有什么区别啊???

作者: lyf898    时间: 2017-5-1 21:17
感觉不到有什么区别,写法不同而已
作者: 吕强军    时间: 2017-5-1 21:52
可以根据这个图分析

2017-05-01_21.52.18.jpg (39.19 KB, 下载次数: 126)

2017-05-01_21.52.18.jpg

作者: 吕强军    时间: 2017-5-1 21:53
没有什么不同
作者: 看见    时间: 2017-5-1 21:58
后一个进行了cnt+1的运算吧
作者: 卑鄙的我~    时间: 2017-5-1 22:39
没区别
作者: 302680771    时间: 2017-5-1 23:06
老复杂
作者: 夜以笙歌    时间: 2017-5-1 23:08
没区别
作者: 215254654416516    时间: 2017-5-2 01:22
没区别的
作者: 51Lovers    时间: 2017-5-2 08:38
应该没区别,仿真一下就知道了
作者: bayga456    时间: 2017-5-2 09:30
结果是一样的,可能编译出的代码有所不同。
作者: wxw520    时间: 2017-5-2 09:41
啊,6个字个字
作者: 熊人大兵    时间: 2017-5-2 10:37
关系到运算等级的问题
作者: L恰恰    时间: 2017-5-2 12:04
应该没有区别
作者: lehigh    时间: 2017-5-2 12:45
肯定有啊,下面会比上面少一次
作者: xiaomei_hu    时间: 2017-5-2 15:54
如果cnt=400   ,   就有差了      你想想
作者: 学习电子知识    时间: 2017-5-2 20:20
第一个判断条件是先判断cnt的值,第二个是cnt值加一以后再判断cnt 的值
作者: d1375    时间: 2017-5-2 20:33
好想是一样的吧
作者: tobyliu415    时间: 2017-5-2 22:14
边界值不一样cnt++>400,是先取cnt的值和400比较然后增量,后面那个是先增量然后和400去比较。如果cnt==400,第一个不会执行括号内的内容,第二个就会执行括号内的内容。
作者: ppka    时间: 2017-5-2 22:25
没区别啊

作者: daocaoren5    时间: 2017-5-2 23:50
前面先和400比较再++,后面是++后再和400比较吧!
作者: bayga456    时间: 2017-5-3 09:19
bayga456 发表于 2017-5-2 09:30
结果是一样的,可能编译出的代码有所不同。

看错了,
应该是一个先加1再比较,一个比较后再加1,差了1次
作者: 小小水    时间: 2017-5-3 09:54
上面一个是cnt先加一后再与400进行比较,而下面一个是cnt直接与400进行比较。
作者: 519762768    时间: 2017-5-3 10:17
第一个对于批量的修改,没有第二个方便。
作者: weoan    时间: 2017-5-3 13:56
没区别,++的运算级别高于》
作者: zxcvvbnh    时间: 2017-5-3 15:43
貌似都一样
作者: gzq852620951    时间: 2017-5-3 18:15
没区别
作者: 空城的守望者    时间: 2017-5-3 19:34
没区别,可以去仿真试试
作者: 天机    时间: 2017-5-3 20:03
应该没有区别
作者: zl2168    时间: 2017-5-3 20:15
有无区别可以keil c运行一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1