C에서 두 변수의 값을 바꿔 넣으려고합니다.하지만 함수를 작성했지만 작동하지 않으며 잘못된 점이 있습니다.변수의 두 값을 바꿔
#include <stdio.h>
void fun(int a_local, int b_local)
{
int temp = a_local;
a_local = b_local;
b_local = temp;
}
int main()
{
int a_global = 5;
int b_global = 7;
printf("a=%d, b=%d\n", a_global, b_global);
fun(a_global, b_global);
printf("a=%d, b=%d\n", a_global, b_global);
return 0;
}
코드는 두 개의 변수를 교환했습니다 :'a_local'과'b_local'은 그들이 시작한 것과 반대의 가치를 가지고 있습니다. 하지만 그 스왑은 부모에게 영향을주지 않습니다 :'a_global, b_global'. – chux