C语言中 执行语句“x=(a=3,b=a--)”后, x,a,b的值依次为 。

来源:百度知道 编辑:UC知道 时间:2024/05/07 14:51:26
说明原因.

x=(a=3,b=a--)括号内为逗号表达式,a--中的--后置,所以a--值为3,所以b的值为3,把3赋给x,a--中a自减1为2,所以a为3
所以x=3,a=2,b=3

执行完之后,a的值是2,b的值是3,x的值是1,原因是这样的,因为括号的优先级高,所以先执行括号里面的,对于逗号运算符隔开的表达式,是按照从左向右执行的,先将3赋给a,然后执行b=a--;因为a--是先使用a然后再将a的值减一,所以a先赋值给b,b得3,然后a才减一,然后a就等于二,由逗号运算符隔开的表达式的值是最右面的值,而这个赋值表达式的值在赋值成功之后返回值是1,然后x就等于1了。

3 2 3

323