回复 7楼 lin5161678
理论谁都会看,正因为理论解释不了才在这里问的。
引用了CSDN中某位作者的关于无return返回值情况的一些结论
C中函数调用的时候的会将实参从右向左依次入栈,这么做的好处是有利于可变参数实现,调用无参函数时可以传参,但是函数内取不到参数的值。而有参函数必须保证实参和形参数量一致,否则会报参数过多或过少的错误。
如果传入的参数是变量,则依次放在eax寄存器中,根据上面的入栈顺序,就是说eax中保存的是第一个参数的值;如果传入的参数是直接量,则不会使用eax寄存器,也就是说上面的test2(a)和test2(1)在传参的时候,只有前者会将1保存在eax中。
使用return关键字会将右边表达式的结果保存在eax寄存器中,如果不写return,则eax中可能是之前传入参数的值,也可能是上一次return的值,看情况分析。
---------------------
作者:ZeaLot4J
来源:CSDN
原文:https://blog.
版权声明:本文为博主原创文章,转载请附上博文链接!
[此贴子已经被作者于2018-11-23 10:32编辑过]