全局變量可以返回函數(shù)值是正確的嗎?
1、返回值可以是全局變量,關(guān)鍵是看你想如何保存。比如
int global; //這里是一個全局變量
void f(int a) {
global = a; //你希望讓global做為函數(shù)處理的結(jié)果用于保存。
}
當(dāng)然你也可以。
int global;
int f(void) {
return global;
}
2、函數(shù)參數(shù)一般有傳值和傳址兩種參數(shù)傳遞,傳值是不會修改原局部變量的值的,但是傳址即會修改比如。
int no_change(int a, int b) { a ^=b, b ^=a, a^=b; }
int change(int &a, int &b) { a ^b, b^=a, a ^=b;}
int main()
{
int x = 2, y = 3;
no_change(x,y);//這是傳值,不會改變main函數(shù)中局部變量x y的值。
change(x,y); //這個函數(shù)是傳址,會改變 main函數(shù)中局部變量x y的值
return 0;
}