在执行m=fun(fun(i,j),fun(j,k));语句时,为什么先计算fun(j,k)?
2条回答 默认 最新
八云黧 2021-07-21 11:02关注具体来说,和C程序的栈有关,C支持变长参数传递,如果从右往左将参数压栈,栈指针指向栈顶即最左侧参数,并且可以通过栈指针和偏移量来计算其他参数在栈中的位置
简单理解一下,函数调用时参数是从右往左计算的。本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用
具体来说,和C程序的栈有关,C支持变长参数传递,如果从右往左将参数压栈,栈指针指向栈顶即最左侧参数,并且可以通过栈指针和偏移量来计算其他参数在栈中的位置
简单理解一下,函数调用时参数是从右往左计算的。