#include<stdio.h>
void mystery(int *ptra, int *ptrb)
{
int *temp;
temp = ptrb;
ptrb = ptra;
ptra = temp;
}
int main()
{
int a=2016, b=0, c=4, d=42;
mystery(&a, &b);
if (a < c)
mystery(&c, &a);
mystery(&a, &d);
printf("%d\n", a);
}
내가 포인터를 이용하여 변수의 값을 교환하려고 시도하고 있지만이 기능은포인터를 사용할 때도 내 코드가 변수의 값을 바꿀 수없는 이유는 무엇입니까?
* temp -> temp 그리고 void가 아닌 함수에 반환 값을 할당하십시오. – mssirvi
이 코드는 이미 SO에서 이미 완전히 중복 된 다수의 것으로 판단 할 때 책에서 나온 것입니다. 질문을하기 전에 조사를 해보십시오. – Lundin