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

Python016

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

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

- -只可能是a--吧。就是a减减,a自减。

逗号表达式取后面的值,也就是X等于b的值,b=3,a--是a等于3的时候把值赋给b,所以b等于3,然后a-1,所以最后结果为:

b=3,x=3,a=2