C语言,静态全局变量与函数调用的问题,也可能涉及函数调用时系统栈的工作...
发布网友
发布时间:2024-05-04 08:25
我来回答
共1个回答
热心网友
时间:2024-06-23 00:15
C语言函数的参数入栈时的默认次序是从右往左的
printf("%d,%d",z,fun(x++)); //这个先执行fun(x++),然后将返回值入栈,而fun造成了z=z+1,所以当z入栈时z的值已经+1了
printf("%d,%d",fun(x++),z); //先将z(复制的副本)入栈,然后才求fun(x++),函数内的z++不会影响已经入栈的z的副本的值了