C语言中下面代码为啥x=2,x=2,y=3,z=1.求大神详解!!!!

Python016

C语言中下面代码为啥x=2,x=2,y=3,z=1.求大神详解!!!!,第1张

逗号表达式,整个表达式的值是第一个逗号前面语句的值,也就是说在这句中z++,y++,++y的值是z++的值,而z++是先使用后计算的,也就是说先把x的值赋给z,然后x+1,这样z就是1,x就是2,之后的y++,++y因为没有使用到这两个表达式的值,所以这两个表达式效果相同,都是自家1,因此y=3,

因此

x=2,y=3,z=1

您好,很高兴回答您的问题。

已知x=2,且知道x为整型变量,执行x+=x/=x*x时,要知道运算顺序,因为+=,/=都是复合运算符,是要对变量进行相加和相除运算,前提是早知道右边数据的值,所以先计算x*x=4,然后计算x/=4,x为2,x=2/4=0,执行x+=0,即为x=x+0=0+0=0。

1、x=y=2是把2赋值给y,又把y的值2赋值给了x。

2、x=2,y=2是把2赋值给了x,又把2赋值给了y。

3、这两个的区别是第1个公式,如果y的赋值改变那么x的值也会跟着改变;第2个公式,如果y的赋值改变,那x的值还是2,不改变。