是不是小弟我多想了
是不是我多想了?不是说在一个函数内定义的变量在函数退出时就会注销吗?那么这个代码为什么还会成功呢?C/C+
是不是我多想了?
不是说在一个函数内定义的变量在函数退出时就会注销吗?
那么这个代码为什么还会成功呢?
C/C++ code#include<iostream>using namespace std;int main(){ int sumab(int,int); int a=1,b=2,c=0; c=sumab(a,b); cout<<c<<endl;}int sumab(int a,int b){ int c=0; ;c是局部变量啊 c=a+b; return c; ;返回了局部变量,这个局部变量不是在函数退出是就没有了吗 }
[解决办法]没搞懂你在说什么??main()函数域和sumab()函数是两个域.所以相同的名称不一定意味着一样东西。我也是新手。
[解决办法]所以main()函数的c和sumab()的c不是一个东西,sumab()里的c消失了,但是main()域的c仍然存在。
[解决办法]那个变量是不存在了,
但是,这个变量的值传出来了。
以后你用的是哪个变量的值,也就是说是哪个变量的内容,而不是那个变量本身。
[解决办法]c是你的函数的返回值,c的确是没了,但你的sumab函数有了和c一样的值。