이 코드는 왜 메인함수가 9를 return하는 건지 아시는 분?

조회수 2453회

ISO/IEC 9899:201x Committee Draft — April 12, 2011에 5.1.2.2.3 Program termination에 보면

..reaching the } that terminates the main function returns a value of 0.

라고 해서 main()에 특별히 return값을 안정했을 때는 0을 자동으로 return해 준다고 돼 있는데 이 코드는 다른 값을 return합니다.

소스코드

#include<stdio.h>
int sum(int a,int b)
{
return (a + b);
}

int main()
{
    int a=10;
    int b=5;
    int ans;    
    ans=sum(a,b);
    printf("sum is %d",ans);
}

컴파일 :

gcc test.c
./a.out sum is 15 echo $? 9 //0이 와야 되는데 9가 나왔음

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)