gpt4 book ai didi

c++ - 堆栈展开在调用函数和被调用函数之间究竟是如何工作的

转载 作者:行者123 更新时间:2023-11-28 07:12:48 25 4
gpt4 key购买 nike

<分区>

我有两个从 main 调用的小函数。下面是程序

int fun1(int x)
{
int s;
s=8;
}

int fun2(int x)
{
int s;
s=x*4;
}
int main(int argc, char *argv[])
{
int n=2;
cout << fun1(n)<<endl;
cout<<fun2(n)<<endl;
return 0;
}

1.fun1() 函数使用参数 x 调用,但没有使用 x 变量完成任何操作。 所以在输出“cout<< fun1()-- 我得到输出 2“n 的现值”。

2.fun2() 函数以参数 x 调用并在操作“s=x*4”中使用它在输出“cout<< fun2()”中——我得到输出 8——“2*4”。

我没有将任何引用或指针值传递给仍然获得两个不同输出的函数。想知道堆栈展开在两种不同的函数情况下有何不同。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com