함수 리턴값

Study/C 2014. 8. 26. 16:48

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
Posted by 차희빈

차희빈

달력