C语言 x=(y=6,y+6,y++),(x=6)+8;
发布网友
发布时间:2023-12-14 03:23
我来回答
共5个回答
热心网友
时间:2024-12-04 19:24
可以分解成两句:
x = ( y = 6, y + 6, y++);
(x = 6) + 8;
执行过程是
y = 6;
y+6; //计算出的值未被使用
y++; //y= 7
x = 6; //也就是右边的第一个括号的值,y++先取值后自增运算;
x=6; //第二个括号赋值
x+8; //计算出的值未被使用
得出的结果是 x = 6; y = 7;
热心网友
时间:2024-12-04 19:25
根据c的运算规则上面的运算可以拆开为
x=y=6,y+6,y++,(x=6)+8;
所以第一步运算得到x=6,(x=6)+8;
最后得到的结果是x=6 y=7;
注意这里的6是后面括号里面那个6,应该它是赋值,去过是其它运算的话就是前面那个6了来自:求助得到的回答
热心网友
时间:2024-12-04 19:25
x=6,y=7吧~_~
逗号表达式的值就是最后一项的值,首先y赋值为6,y+6这句对y的值没有影响【容易错】,y++嘛,自然y变成7了,然后赋值给x,但是后面的表达式x又赋值为6了,后面+8对x的值无影响,所以最后x=6,y=7。
祝你好运~_~
热心网友
时间:2024-12-04 19:26
(y=6,y+6,y++)是逗号表达式,其返回值是最右边表达式的值,即y++
首先y被赋值为6,y+6并不改变y的值,而y++先返回y的值,然后y自增1为7,所以该语句等价于:
y = 6;
x = y;
y++;
(x=6)就是把6赋值给x,然后计算x+8,此时x仍为6
热心网友
时间:2024-12-04 19:26
x=6
y=7
嗯就是这样