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(](/uploads/image/z/10366592-32-2.jpg?t=int+x%3D5%3B+int+y%3D2%2B%28x%2B%3Dx%2B%2B%2Cx%2B8%2C%2B%2Bx%29%3B+printf%28%22%25d%22%2Cy%29%3B+%E7%BB%93%E6%9E%9C%E6%98%AF%E5%A4%9A%E5%B0%91%3Fx%3D%28y%3D4%2Cz%3D16%2Ck%3D32%29%2Cx%E7%9A%84%E5%80%BC%E6%98%AF32%3Fint+x%3D5%3B+int+y%3D2%2B%28x%2B%3Dx%2B%2B%2Cx%2B8%2C%2B%2Bx%29%3B+printf%28%22%25d%22%2Cy%29%3B+%E7%BB%93%E6%9E%9C%E6%98%AF%E5%A4%9A%E5%B0%91%2C%E4%B8%BA%E4%BB%80%E4%B9%88%3FC%E8%AF%AD%E8%A8%80%E4%B8%AD%2Cx%3D%28y%3D4%2Cz%3D16%2Ck%3D32%29%2Cx%E7%9A%84%E5%80%BC%E4%B8%BA%E4%BB%80%E4%B9%88%E7%AD%89%E4%BA%8E32%3F%E6%88%96%E8%80%85%E6%9B%B4%E7%9B%B4%E6%8E%A5%E4%B8%80%E7%82%B9)
xRJA~EEORDAHuv5EbI):"(gƫ^/ꦢfNc7w˜(CՠK] j"Jlւ <TdɆ9%v2G@fZ蒬e2LE96FsI<K~X
d3с"ʄ5[CdGo)Hԧ=HmH$Yo NQdmyXk2ܿc}%J#bQM{:fWNL
h:|ŸYt2Eھ Tk6۱M7!
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.