我觉得c很对,还是说不用分配到栈帧,只要分配到通用寄存器里面吗?非常感谢
C和A不是有矛盾么
C说的还是t1和t2,并不是x和y啊
这两个函数都是传值调用,在函数传参过程中,实际上会发生一次数据拷贝,以add函数为例,在调用add(t1,t2)的时候,编译器会进行数据拷贝,具体过程为:
(1)申请两个临时变量x和y
(2)让x=t1,y=t2
(3)在add函数中处理x和y(也就是计算x+y的值,并返回)
所以,在add函数中实际处理的是x和y,而不是t1和t2,所以C是错误的。
如有帮助,望采纳,谢谢。
选A,从编译优化的角度看,t1和t2没有在别的地方用到,会被编译器直接优化到sum函数的栈帧中
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!