#include <stdio.h>

#include <stdlib.h>

void swap(a,b) {

int temp;

temp = a;

a = b;

b = temp;

}

int main() {

int a = 10;

int b = 15;

swap(a, b);

printf("a:%d,B:%d",a,b);

}



는 눈깜짝 안하고 10 , 15 나오는데 


#include <stdio.h>

#include <stdlib.h>

void swap(int*pa, int*pb) {

int temp;

temp = *pa;

*pa = *pb;

*pb = temp;

}

int main() {

int a = 10;

int b = 15;

swap(&a, &b);

printf("a:%d,B:%d",a,b);

}



이건 왜 15가 나오는데슷 ? 

주솟값을 함수에서 받앗는데도 메인함수에서 적용이 되네