c编程全局变量更新
c programming global variable updating
我是 c 编程的新手,编写了一个函数来交换两个 numbers.the 问题是内部交换函数变量正在正确更新但全局变量 a 和 b 不是 changing.Please 帮助我有什么误解我have.Thanks求助
int main(){
int a = 2; int b = 3;
void swap(int a , int b){
int c= a;
a = b;
b = c;
}
swap(a,b);
printf("%d\n",a);
printf("%d\n",b);
return 0;
}
在 C 中,原始变量是按值传递的,而不是按引用传递的。调用swap方法时,swap方法中的a
和b
参数与main()方法中的a
和b
不同。只有 a
和 b
的值被传递到方法中。所以在 swap 方法中,a 和 b 被交换了,但是 main 中的 a
和 b
实际上并没有改变。
您需要做的是通过引用传递。通过引用传递的一个例子是 here.
我是 c 编程的新手,编写了一个函数来交换两个 numbers.the 问题是内部交换函数变量正在正确更新但全局变量 a 和 b 不是 changing.Please 帮助我有什么误解我have.Thanks求助
int main(){
int a = 2; int b = 3;
void swap(int a , int b){
int c= a;
a = b;
b = c;
}
swap(a,b);
printf("%d\n",a);
printf("%d\n",b);
return 0;
}
在 C 中,原始变量是按值传递的,而不是按引用传递的。调用swap方法时,swap方法中的a
和b
参数与main()方法中的a
和b
不同。只有 a
和 b
的值被传递到方法中。所以在 swap 方法中,a 和 b 被交换了,但是 main 中的 a
和 b
实际上并没有改变。
您需要做的是通过引用传递。通过引用传递的一个例子是 here.