이 코드는 왜 메인함수가 9를 return하는 건지 아시는 분?
조회수 2455회
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가 나왔음
댓글 입력