c语言为什么j=(i=2,i++,i++) 运行结果j是3?不应该取最后一个表达式4吗?

2025-04-28 08:20:46
推荐回答(1个)
回答1:

这里要区分一下:前置++是先自加1再使用,后置++先使用再自加1
j=(i=2,i++,i++)可以拆分为i=2; i++; j=i++;执行第二步后,i值为3,到第三步时,i=3先赋值给j,然后i再加1。最终结果为i值为4,j值为3。
如果改为j=(i=2,++i,++i),j值与i值均为4