首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

问一个很高深的有关问题

2012-05-28 
问一个很高深的问题ab++就这个赋值语句,我一直以为觉得就是先把b的值赋值给a,然后b再加1对吧。然后今天忽

问一个很高深的问题
a=b++;就这个赋值语句,我一直以为觉得就是先把b的值赋值给a,然后b再加1对吧。然后今天忽然联系到了运算符优先级问题,又迷茫了。=号和++号优先级相同而且都是自右向左的,那么为什么不是b先++然后再赋值呢?难道在这里不适用了?请各位大大解惑下。

[解决办法]
首先,这并不是高深的问题。
++运算符优先级比=要高,所以编译器把b++看作一个整体
b++是一个表达式,这个表达式的返回值是b在++之前的值,同时使b的值+1
表达式的值返回后,把这个值赋值给a
结束

热点排行