1번
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <stdio.h> int Add(int val); int num=1; int main() { int num=5; printf("num: %d \n",Add(3)); // 1번 printf("num: %d \n",num+9); // 2번 return 0; } int Add(int val) { int num=9,aa=0; num+=val; aa=num; return aa; } |
int Add 함수에서 리턴을 0을한다면
1번의 printf의 출력값은 0이다
2번의 printf의 출력값은 14이다.
int Add 함수에서 리턴을 aa나 num으로 한다면 함수내의 계산식에 의해 12가 된다
1번의 printf 의 출력값은 12이다.
2번의 printf 의 출력값은 14이다.
만약 asdf라는 변수를 메인에서 선언한후
asdf=Add(4);
라는 결과식을 한다면 함수의 리턴값이 asdf로 저장된다.
만약 함수에서 리턴 값을 0으로 한다면 asdf의 값은 0
2번
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int Add(int val); int main() { int num=5; printf("함수 num: %d \n",Add(3)); printf("메인 num: %d \n",num); return 0; } int Add(int val) { int num=9; num+=val; printf("num= %d \nval= %d\n",num,val); return num; } |
출력은 다음과 같다.
num= 12
val= 3
함수 num: 12
메인 num: 5
'Study > C' 카테고리의 다른 글
2차원 배열 (데이터 입력하기) (0) | 2014.08.27 |
---|---|
포인터 (3) call by reference (0) | 2014.08.27 |
포인터 (2) 배열 (0) | 2014.08.27 |
포인터 (1) (0) | 2014.08.27 |
조건식 (0) | 2014.08.26 |