首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么main在这里不返回0?

为什么main在这里不返回0?
EN

Stack Overflow用户
提问于 2011-12-30 16:40:15
回答 3查看 4.8K关注 0票数 116

我只是在看书

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?
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8677672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档