c语言中a丨b什么意思++&&b++什么意思

本站资源均收集整理于互联网其著作权归原作者所有,如果有侵犯您权利的资源请来信告知,我们将及时撤销相应资源

}

C语言中++运算级高于=运算级所以運行b=a++程序时,些计算a++得到a=3,然后将a=3赋值给b得到b=3。但运行程序却得到b=2哪位好心人给解释一下。

把++当成个函数下面是这2个函数的伪代碼

理解了吗,优先级还是一样的一定要了解接口的实现,也就是处理逻辑

b得到的是函数返回的return值,只是函数执行后a的值改变了

b=a++如果先赋值在运算的话就不符合运算优先级了啊

@gzk: 死读书怎么行呢, 有前置条件的

当 a 和 ++ 执行后,有人希望b是2也有人希望b是3 ,那么怎么办呢就人為规定下,++放前面是3放后面是2。

++ 优先级高于 = 先执行a变成了3,

接着执行=将=右边的值赋值给b,=右边的值是多少呢是2。

所以按照问题嘚描述,理解不对的点在于=不是将a的值赋值给b,而是将=右边表达式的值赋值给左边的变量!!!

可以这么理解a++在计算之后,a自增但昰返回a自增前的值。++a计算之后a自增,返回自增后的值

所以b=a++其实就是b等于a自增前的值。所以a=3b=2

以后才能回答,未注册用户请先

}

我要回帖

更多关于 c语言中a丨b什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信