#include void main() { int n=1; printf(%d,%d,%d,n,

发布时间:2021-02-23 19:19:41

#include void main() { int n=1; printf(%d,%d,%d,n,++n,n--); }输出结果为是什么2 2

网友回答

我在我的编译环境中测试,结果是1,1,1.
因为在一些编译环境中,printf的执行执行顺序是颠倒的,即从右向左执行.
printf(%d,%d,%d,n,++n,n--);
所以n--先执行,此时n的值为0.因为后缀的自减操作是有“延迟的”,所以输出为1
++n第二个执行,自增操作立即生效,输出为1
n第三个执行,输出为1
所以输出为1,1,1
你可以在自己的环境中实验一下,输出结果可能会不同.
以上问题属网友观点,不代表本站立场,仅供参考!