重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在C语言中,主函数必须要有返回值。
创新互联是专业的运城网站建设公司,运城接单;提供网站设计制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行运城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
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则会发出警告。
void表示函数无返回值,也就不需要写return。如没有返回值的函数,void要写,否则默认返回值是int型需要return语句。
关于函数返回多个值,有很多方法:
一、不返回,函数返回值依然是void,但传值的时候传变量地址,那么在函数运行中改变变量地址里的值,函数运行结束,外面实参变量也改变了。比如void fun(int* a)。
二、不返回,函数通过全局变量传递值。
三、返回数组类型(包括结构数组),在函数中将要返回的多个值放在数组中返回,比如char *fun()。
不是必须有返回值。如果没有返回值类型名为"void"。
void函数的定义:
void+函数名()//无类型+函数名
{// 程序代码
}
如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……
类型名有:void int long float int* long* float* ……
扩展资料:
需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-函数
简单的说,函数就是一个算法,有不有返回值是跟这个函数做什么的有关系。
一般情况下,求和这类的就要返回值,比如
int
add(int
a,int
b)
{
return
a+b;//这就返回a+b的和,用函数的时候,你只要传a,b的值就得了
}
用的时候这样:
int
s=add(100,200);
//就把100+200也就是300的值赋给s了
这种情况就是相当于你去A地做买东西,你肯定得拿东西回来。你拿回来的东西也就是返回值
-------------------------------------------
还有些不用返回值的,比如,输出,或者给有地址的变量赋值等
这些函数前面就可以用void
表示无返回值,当然你也可以返回你想返回的。比如说成功或者失败返回true
or
false.也可以随意返回一个int型的
1或者0
比如:
void
pri(int
i)
{
printf("%d",i);//这个就是打印一个整型的i出来
}
这种就像你去A地不干什么,就去那儿吼两句,也就不用拿什么回来了。
还有种给有地址的变量赋值。那就相当于你去a地寄了一封信,也不用什么什么回来。
啊,打得手累,我就这样理解了。给是清楚点了,呵呵