全局变量可以返回函数值是正确的吗?
1、返回值可以是全局变量,关键是看你想如何保存。比如
int global; //这里是一个全局变量
void f(int a) {
global = a; //你希望让global做为函数处理的结果用于保存。
}
当然你也可以。
int global;
int f(void) {
return global;
}
2、函数参数一般有传值和传址两种参数传递,传值是不会修改原局部变量的值的,但是传址即会修改比如。
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函数中局部变量x y的值。
change(x,y); //这个函数是传址,会改变 main函数中局部变量x y的值
return 0;
}
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有