#include <stdio.h>
void increase(int origin, int increment);
int main(void) {
int amount = 10;
increase(amount, 20);
printf("%d\n", amount);
return 0;
}
void increase(int origin, int increment) {
origin += increment;
}
이거 왜 출력값이 10이야?? 30아니야??
#include <stdio.h>
void increase(int origin, int increment);
int main(void) {
int amount = 10;
increase(amount, 20);
printf("%d\n", amount);
return 0;
}
void increase(int origin, int increment) {
origin += increment;
}
이거 왜 출력값이 10이야?? 30아니야??
응 포인터를 써서 call-by-reference 를 할 때가 된거야
amount 를 origin에 넣고 origin을 20 올렸지만 amount가 20 올라간게 아니잖아
void increase 를 int increase로 바꾼다음 origin을 return 시켜라
그리고 amount에 대입하셈
아니면 포인터질 하던가
저기서 니가 더한건 그냥 함수내의 지역변수값일뿐임