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/07/27 09:17:02
int x=5; int y=2+(x+=x++,x+8,++x); printf(
xRJA~EEORDAHuv5EbI):"(gƫ^/ꦢfNc7w˜(CՠK] j"Jl ւ<TdɆ9%v2G@fZ蒬e2LE96FsI<K~X d3с"ʄ5[CdGo)Hԧ=HmH$Yo N Q dmyXk2ܿc}%J#bQM{:fWNL h:|ŸYt2EھTk6۱M7!

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.