为什么我学的c语言在定义main函数时,前面没有int

如题所述

楼上说法有些错误。首先,mian函数作为主函数是程序的入口没错,但是它其实一定要被其他函数调用的,这些函数就是进入程序之前的引导。所以,有的时候,我们会发int返回值的main函数内不甚至用了参数,这些参数也是可以缺省的,但实际上都被默认值了,引导程序在调用main函数的时候必须获取这些值,否则是不可以动作的。
在VC6.0编译环境中,main的默认返回类型是int,所以可以省略void不写,形成楼主那样。同理老式c编译器中默认main是void型,也可以省略int不写,形成楼主看到的那样。
但是实际上,void也好,int也好,只要不出现错误,都是默认要返回给系统程序一个值,以便让系统知道这个程序的执行情况的。系统会随时检测这个程序,实质上就是main函数是否处于一个正常的状态。
这才是main的实质。
从以上可以看出,main的返回类型可以不写,不同编译器对它的解释是不一样的,有的是int型,有的void型。所以干脆直接不写,在实际编译环境中实际定义。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-09
一个函数有返回值通常是因为该值要被其他函数使用,而main函数作为主函数,基本不存在这种情况。所以,main函数也可以用无返回值的定义,下面对main函数的定义都是对的:

int main(void); // same as above
int main(int argc,char** argv);
void main();
void main(int argc, char** argv);

初学C时,通常看到的是第三种方式,并且void也取消了,因为这是缺省的定义。

c语言 为什么定义主函数不是int main()
您好!很高兴能回答您的问题。因为该main函数不需要返回值,所以可以省略前面的数据类型,如void main(),也没有返回值。返回值的机制:是返回给主调进程,使主调进程得知被调用程序的运行结果,例如return 0;。是否要求一定要加上数据类型:这个没有强制性,例如该题。但在标准的规范中,应加上int,...

c语言 为什么定义主函数不是int main()
您好!很高兴能回答您的问题。因为该main函数不需要返回值,所以可以省略前面的数据类型,如void main(),也没有返回值。返回值的机制:是返回给主调进程,使主调进程得知被调用程序的运行结果,例如return 0;。是否要求一定要加上数据类型:这个没有强制性,例如该题。但在标准的规范中,应加上int,...

C语言中在主函数main前的加不加int有什么区别啊?
可以说加不加int是没有区别的。在ANSI C的标准中,main的标准返回值是整型,如果你什么都没有加,编译系统会自动加上int类型的。这时如果你使用GCC的话(VC是没有的)会有一个警告。void是无类型,表示没有返回值,你的主函数如果不需要返回的话,最好加上它。最后,建议你的主函数显式的使用int...

C语言中为什么调用函数时不需要加int,void,char,double这些呢?_百度...
您好,很高兴回答您的问题。C语言中程序在运行的时候,首先是找到主函数运行的。其余的函数都是在被调用的时候才会运行。那么在被调用之前,就必须要求知道这个函数的具体情况,包括函数返回值的类型,函数名,函数的参数等等,这个叫函数的声明。也就是在调用这个函数时,已经知道了函数返回值的类型,真正...

C语言中这两个int有什么区别?(一个是main前面的,一个是num1前面的)
第一个:main 前的int 表示该程序技术时,向系统返回一个整数类型的值,一般用于表示程序运行的结果、状态、异常等;第二个:是程序内部定义整数变量的语句。

C语言函数定义在main函数之后,而且在main函数之前没有函数原型声明。为...
\/\/int show_info()函数原型声明只是一个好习惯,C11标准并没有强制要求必须给出原型声明。而且声明函数的同时定义函数也是允许的。

谁能帮我分析一下C语言的这个程序
type 可以为任意的C语言中的数据类型。也可以为VOID(即无返回值)。其次,main函数的前面可以为int也可以为void.因为main函数也是函数(废话)。当这个函数执行完毕之后会返回给系统一个值,0表示正确(常)执行。如果你写void的话,编译调试的时候,编译器会自动像系统返回一个值。第三,在写C++程序...

c中像intmain(),main()前有int是什么意思?
在C语言中,`int main` 或 `main` 前的 `int` 是一个返回类型标识符,表示这个函数会返回一个整数类型的值。详细解释:1. 返回类型标识符:在C语言中,每个函数都可以有一个返回类型,这个返回类型告诉编译器该函数执行后会返回一个什么类型的值。`int` 是一种常见的返回类型,表示函数会返回一...

为什么C语言中main是不带参数的
这是C语言main函数的一种声明方式,该方式表明这个main函数不带参数,返回值。void常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。但是在C语言推荐写法中,建议使用int main,因为在有的编译器虽然viod main可以通过编译,但在其他编译器就会报错。为了代码拥有更好的可移植性,...

C语言中,开头不应该是int main(void)吗?那int max(int x,int y)是
按你的意思 int max(int x , int y) 应该是前向引用声明,即在还未定义函数max(...)时就要用到它,必须先给个引用声明,再在后面某个地方定义。括号里是函数max的形式参数。int main()是主函数,程序入口,max(...)是自定义函数,会在main()中被直接或间接调用 ...

相似回答