C语言中main()函数是否返回值?

作者&投稿:主父路 (若有异议请与网页底部的电邮联系)
在C语言中,主函数是不是必须要有返回值?~

在C语言中,主函数必须要有返回值。
main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。
在C语言标准中强制要求main函数的返回值类型为int,main函数的返回值是传递给操作系统,让操作系统判断程序的执行情况(是正常结束还是出现异常)。

扩展资料:
在C和C++中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 或void main()。然而这是错误的。
main函数的返回值应该定义为int类型,虽然在一些编译器中,void main可以通过编译(如vc6),但并非所有编译器都支持void main,因为标准中从来没有定义过void main。g++3.2、dev C等环境中如果main函数的返回值不是int类型,根本无法通过编译。而gcc3.2则会发出警告。

不一定,看你如何写了:
int main() {} 要求有一个int型的返回值,返回语句return 0;
void main() {} 没有返回值,返回语句return;或不写
其他函数也是这个规则

考虑到main函数的特殊性,lz不明白这个问题可以理解。
main()是省略了返回值类型,C语言会默认认为成main的类型为int,在main()的函数体内要返回一个值,如return 0;
而void main()的返回值是void类型,也就是说没有返回值。这样在main()的函数体内你就不用写return 0;或者return 1;之类的返回语句。
在一个程序中,可以说你看不出两者的差别,因为main()是C语言的入口点,入口点如果返回了程序也就结束了,因此C语言的这个特性似乎没用。可没用的话,C语言的设计者为什么要这么做呢?!肯定有用。
没错,前面我说的是在一个程序中,它似乎没用。可如果一个程序prog2调用另一个程序prog1的话(这里指的是prog2直接调用prog1编译好的可执行文件),那么这个特性就有用了。因为prog2要知道prog1运行之后的状态。比如你用C写了一个删除文件的程序(暂且命名为delf),然后用另一个程序去调用delf,那么调用结果怎么样啊?这个文件是否删掉了?这是int main()就会派上用场了。C语言中默认的main如果返回为0,那么这个程序调用就成功了,其他值,则为不同的错误代码。在你的delf程序中,如果那个文件删除成功,那么就在int main()中返回0,其他调用delf的程序就知道,噢,这个操作成功了。
在unix/linux系统中的很多命令都是通过这种方式获得运行结果的。

关于谭浩强的书,我想不用多说,发行量说明了一切。毕竟第二版在编写的时候还比较早,而第三版根据很多现在的需要进行了改写,内容当然会好些。鉴于lz是初学C,其实大可不必在这个问题上浪费太多时间,当你有了更多的项目经验,对这个问题会有更深刻的理解。
上面我已经给出了main()、int main()和void main()的区别,但建议lz忽略这个差别,认为成二者一样,先把C的其他部分学好。至于只写成main(),我并不推荐,就算编译器通过了,这种编程的风格也太不严谨,不利于好的习惯的养成。


c语言中main()是什么意思?
()表示函数有返回值,在main函数结束的时候要有return语句,如果没有就会有warningvoid表示函数没有参数。int表示它是返回值是int型(整型),main表示它的名字是mian(函数名),()表示它是一个函数,它相当于是重载操作符,因为main是一个指针,经过操作符的操作,它才变成一个int型的引用。

C语言中main()的意思是什么?
在C++中,main()一般要求用int,即应写为 int main (){ ……return 0;} 但有一些也可以写为void main() ,而有一些不能这么写,任何时候都可以用int main(),所以建议不用void main(),用C++编译器编译C一般不会有什么问题,因为C++是兼容C的。

C语言中, main()函数是什么意思?
1、一个C语言源程序可以由一个或多个源文件组成。2、每个源文件可由一个或多个函数组成。3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源...

在C语言中,main函数的意义是什么?
1、主函数main()是一个c语言程序开始运行的标志,也就是说,一程序开始执行都是从主函数开始的,不管主函数的位置在哪里。2、main函数是在程序启动中完成对具有静态存储期的非局部对象的初始化之后被调用的。它是程序在有宿主(hosted)环境(亦即有操作系统)中所指定的入口点。3、main单词表示主要的...

c语言main()是什么意思啊?
include<stdio.h> int main(){ int i,m=0;for(i=2;i<=100;i+=2) m=m+i;printf("%d\\n",m);return 0;} 或 include int main(){ int i,sum=0;for(i=1;i<=50;i++){ sum=sum+2*i;} printf("2+4+6+…+98+100=%d\\n",sum);return 0;} ...

main是什么意思,在C语言中又是什么意思
意思:主要的;最重要的;2、在C语言里是main()称之为主函数,是所有程序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。对main()函数始终作为主调函数处理,允许main()调用其它函数并传递参数。main()函数既可以是无参函数...

c语言main函数是什么意思?
void main()表示函数无返回值,就是说在程序的结尾处不需要加上return 0。而return是在函数体中,用来返回特定值的。一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名,这个函数称为主函数,主函数是整个程序的入口。基本数据类型:1、void:声明函数无返回值或无参数,声明...

c语言中的int main()是什么意思
在C语言中,int main() 是程序的入口点,它标志着一个Windows应用程序的执行流程。当操作系统启动C\/C++运行期,会首先调用主函数,这个函数是程序的首要执行任务。主函数的主要职责是完成初始设置和应用程序的主体逻辑,执行完毕后,通常会通过return语句返回一个整型值,这个值会作为exit函数的参数。返回...

c语言main什么意思?
main英[men];意思:主要的;最重要的;在C语言里是main()称之为主函数,是所有程序运行的入口。main不是关键字,你可以定义一个变量intmain;而不会出错,\\r\\nmain函数是控制台程序的默认入口函数,win32app程序的入口函数是WinMain\\r\\nmain()称之为主函数,既可以是无参函数,也可以是有参的...

电脑中的main是什么意思
1、Main在计算机软件中代码主菜单或者主类。一些桌面软件,都会有一个主菜单,包含基本的操作菜单,命名为main。在开发语言java、c语言等高级语言中,都会存在一个main的主类,是程序执行的入口。2、主函数入口,也就是说用c编程的话,找main()也就找到了程序的入口,一个程序可以有多个函数,但只能有...

西和县13657808587: C语言 main函数的返回值 -
敏光女金: 那在main函数执行完之后 后面的函数是不是可以使用这个值? ->不可以,main函数的返回值是给操作系统用的. 如果main函数没有返回值,你可以脑补它返回了一个零,就像这样,reutrn 0;

西和县13657808587: C语言main函数一定要有返回值么 -
敏光女金: 不一定,看你如何写了: int main() {} 要求有一个int型的返回值,返回语句return 0; void main() {} 没有返回值,返回语句return;或不写 其他函数也是这个规则

西和县13657808587: C语言中主函数是否有返回值,如果有,最多有几个? -
敏光女金: 有且必须要 C99以上标准规定主函数必须返回int 返回值可以有多个值但是只返回其中一个比如FILE *p = fopen(file_path); if (p==NULL)return 1; elsereturn 0; 这样主函数可以返回1或0,但是每次运行文件打开失败与否只返回其中一个

西和县13657808587: 在C语言中,主函数是不是必须要有返回值? -
敏光女金: 按标准来说,C的main函数是需要有返回值的.标准中main函数返回类型是int的,所以需要一个返回值 但是由于历史原因,很多地方可以看到没有返回值的main.比如直接main()或者说void main() 但是这样一般编译器也不会认为错误 不过建议还是写标准的C的main函数.最好有一个返回值.0表示正常退出打字不易 谢谢采纳

西和县13657808587: C语言 main -
敏光女金: 1.解析:if(a=1) 是将1的值赋给a,然后a=1>0 执行if后面的语句了 .要是你搞糊涂了应该是这个if(a=1)与if(a==1) 后面是关系表达式,前面个只是赋运算. 2 解析:正确是因为他符合所有语法要求,case 后面是常量表达式,switch(表达式)...

西和县13657808587: C语言,main()函数能不能够返回非0值? -
敏光女金: 123456789 /* 情况一,程序正常执行结2113束,返回5261给系统一个返回值0.情况二,程序执行过程4102中出现异常1653,系统得到一个非程序员定义的非0值(这个值的名称有异议,存在认为这就是返回值 和 这个不能叫返回值的两种说法).情况三,没有运行时错误,而是在创建或写文件时出现错误从而直接return程序员定义的返回值(和return 0 不同,这是程序员通过判断,自己定义的另一个非0值).*/

西和县13657808587: c语言什么叫main函数有返回值? -
敏光女金: 以printf反馈而没写return算是没有有返回值int main() { 若干条语句; return 数值表达式皆可; } return后面的是返回值!

西和县13657808587: C语言中main函数可以没有return语句吗 -
敏光女金: 可以,但是return语句有助于检错,可以返回控制权给系统,防止被利用这个漏洞

西和县13657808587: C语言中return 0到底该怎么理解,还有怎样用操作指令检查main函数返回值,求大神指导... -
敏光女金: 楼下的回复不全面,c中的return 0有两个作用,不仅仅函数的返回值为0,另一个就是还行exit(0)意思就是执行成功,正确返回0,.你在程序中间调了这句话,在哪个地方就会执行结束该函数,这才是return最大的作用.活用return有意想不到的效果哦,亲.

西和县13657808587: c语言返回值具体是指什么? -
敏光女金: 子函数的返回值,main主函数也是有返回值的,但是一般用不到都忽略掉了,一般来说的返回值就是子函数的返回值.当需要一个函数去处理数据时,如求平方,这时候求平方后的值可以有两种方法表达 1、以值的形式返回给你,即return x,...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网