我只是在看书
ISO/ 9899:201x委员会草案-2011年4月12日
其中我在5.1.2.2.3程序终止下找到
..reaching the } that terminates the main function returns a value of 0.
这意味着如果你没有在main()
中指定任何返回语句,如果程序成功运行,那么在main的右大括号}处将返回0。
但是在下面的代码中,我没有指定任何return语句,但它也没有返回0
#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 // here it should be 0 but it shows 9 why?
https://stackoverflow.com/questions/8677672
复制相似问题