已printf为例:
如printf("min = %d , topV = %d\n", min(&mystack), pop(&mystack));
执行顺序是先执行pop,然后在执行min
如果pop的执行会影响min,例如pop的同时会把当前Stack的最小值也弹出,而你又想得到得到当前Stack的最小值,而不是弹出后Stack的最小值,最好让min在右边:
像这样printf("topV = %d , min = %d\n", pop(&mystack), min(&mystack));
总结就是:一个语句中函数的执行是从右向左执行
本文探讨了C语言中函数调用的顺序问题,特别是针对多个函数在同一表达式中被调用的情况。通过实例说明了从右至左的执行顺序,并给出了如何避免因函数执行顺序导致的潜在问题的建议。

269

被折叠的 条评论
为什么被折叠?



