int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少?x=(y=4,z=16,k=32),x的值是32?int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少,为什么?C语言中,x=(y=4,z=16,k=32),x的值为什么等于32?或者更直接一点

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 19:31:58

int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少?x=(y=4,z=16,k=32),x的值是32?int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少,为什么?C语言中,x=(y=4,z=16,k=32),x的值为什么等于32?或者更直接一点
int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少?x=(y=4,z=16,k=32),x的值是32?
int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少,为什么?
C语言中,x=(y=4,z=16,k=32),x的值为什么等于32?
或者更直接一点 括号中的到底怎么取

int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少?x=(y=4,z=16,k=32),x的值是32?int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少,为什么?C语言中,x=(y=4,z=16,k=32),x的值为什么等于32?或者更直接一点
括号里,逗号运算符是从左往右的,整个表达式的值跟最右边的语句有关.
1、x++表示先使用x的值然后自增,那么表达式x+=x++之后,x的值是11;x+8不影响x的值;++x后值为12;那么y=14.
2、从左往右,最后的值就是32.