c语言中标准main函数的书写规范是什么

2021-03-11 06:34:37 字数 5355 阅读 6543

1楼:小杰知音

在最新的 c99 标准中,只有以下两种定义方式是正确的:

int main( void ) /* 无参数形版式 */

int main( int argc, char *argv ) /* 带参数形式 */

int指明了权main()函数的返回类型,函数名后面的圆括号一般包含传递给函数的信息。void表示没有给函数传递参数。关于带参数的形式,我们等会讨论。

浏览老版本的c**,将会发现程序常常以。

main()

这种形式开始。c90标准允许这种形式,但是c99标准不允许。因此即使你当前的编译器允许,也不要这么写。

你还可能看到过另一种形式。

void main()

有些编译器允许这种形式,但是还没有任何标准考虑接受它。c++ 之父 bjarne stroustrup 在他的主页上的 faq 中明确地表示:void main( ) 的定义从来就不存在于 c++ 或者 c 。

所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。

2楼:c_组织

那是因为duc语言刚刚出来的zhi时候标准还不统dao一!

最先前是main() 连头文件都版不需要权,后来又出现了需要#include头文件,再后来是int main() 这样的形式就必要要有个返回值! 这些都是因为c语言在不断改进,所以各个版本都有区别,现在这就在于你公司或自己要求个标准是哪个标准了或者是使用的哪个编译器,因为编译器支持的标准也不一样!

int main(int argc, char* argv) 其实main函数还有两个参数!

3楼:匿名用户

int main比较安全。。

void 在vc编译器中正确但是在gcc编译不正确。。

gcc才是标准

内c的编译器。。vc是微软自容己瞎搞的。

建议使用int main ()并且带参数

int main(int argc, char* argv)

4楼:屋顶摘星

你写int 表示有返回值,那么就在最后加一个return,如果没加,那么就不用写了,不过目前大家都喜欢写,尤其是玩c++嵌入式多的程序员,那种不写的大多是初学者,不过这都没啥的。

5楼:匿名用户

int main(void)

__________

return 0告诉操复作系统制程序正常

bai退出du

6楼:匿名用户

int main(int argc, char *argv)

7楼:

void main()

int main是c++中的东西

c语言中main函数前面的void可不可以省略!省略与不省略有什么区别 ?

8楼:匿名用户

在 c89 标准中bai,main( ) 是可以接受du的。

不过在最新的 c99 标准中,只有以zhi下两种定义方式是dao正确内的:

intmain(void)//整数类型主函数(无参数)int main(int argc,char**argv)//整数类型主函数(整数类型 统计参数个数,字符类型*数组指针至字符)

也就是说main函数在最新标准中已经不能返回void了,同时也不能省略int。

9楼:匿名用户

可以省略,省略后相当于返回值是int类型的,void是不返回,其实这个是返回给操作系统的,一般的程序设计用不到这个返回值,但是有的编译器不允许main函数返回值是void类型的。

10楼:匿名用户

可以啊,因为baimain函数的

形式du是int main(int argc,char**argv)是有参数的zhivoid表明dao

是无返内回值,如果不容

用void就得在main函数的末尾处写return 0;void main()就不用写return 0了

11楼:s木棉

void是不返回,如果省略解释返回int

c语言中void main和int main有什么区别

12楼:徜逸

1、有无返回值

void main没有返回值,int main有返回值。

2、返回值类型

int main返回int类型的数据,void main不返回。

但是在c语言推荐写法中,建议使用int main,因为在有的编译器虽然viod main可以通过编译,但在其他编译器就会报错。为了**拥有更好的可移植性,一般写int main。

**示例

#includeintmain(void)

上述的**中为int main,返回了一个0,数据类型为int。

数据类型

void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(c89标准新增)

char:字符型类型数据,属于整型数据的一种。(k&r时期引入)

int:整型数据,表示范围通常为编译器指定的内存字节长。(k&r时期引入)

float:单精度浮点型数据,属于浮点数据的一种。(k&r时期引入)

double:双精度浮点型数据,属于浮点数据的一种。(k&r时期引入)

13楼:匿名用户

void main 和 int main的区别就是有无返回值。

在int main 可以出现非 int 类型的东西。在写**时,一个函数要么有返回值,要么没有返回值没有返回值就用void来表示。 main函数同样的,在没有返回值时加个void 。

有的编译器必须main要有返回值 int , 那就写成int main 。

至于什么时候需要哪种写法,不必有这种顾虑,你可以一律都写成 int main ,然后在方法体中 最后加个return 0 ;就行了。

void main 和 int main 在作用上其实没什么区别啊,只是有的严谨的编译器必须要main有int 返回值而已,这两种写法跟自定义的函数没任何关系。

14楼:小莫

void main 和 int main 主要有以下三个方面的区别:

1、void main的返回值为空值(即没有返回值),int main的返回值为整数类型值。

2、void main 可以用 int main代替,但是 int main 不能用 void main代替。

3、有的编译器main必须要有返回值 int , 那就写成int main 。

在使用中可以一律写成 int main,然后在方法体中最后写 return 0; 就行了,这样写基本上所有的编译器都可以通过。

15楼:专拣米粒

1、void main没有返回值,int main有返回值2、void main 可以用 int main代替。

3、有的编译器main必须要有返回值 int , 那就写成int main 。

16楼:匿名用户

返回值类型不同。

标准的c语言要求main函数的返回值为int, 该值是执行程序时,告知主调进程程序运行结果的一个渠道。

可以在命令行运行exe后,通过

echo $?

命令获取上一个可执行程序的运行结果。

不过由于大多数时候,程序的运行结果可以由其它方式判定,比如程序的打印信息,所以main的返回值变得不重要,于是大部分编译器都支持无返回值类型的main,这时默认返回给主调进程0值。

标准的main函数格式为

int main(int argc, char *argv);

即返回值为整型,带两个参数,argc为命令行参数的个数,argv为指针数组,前argc个指针为参数列表,最后一个指针值为null。

17楼:匿名用户

main函数的返回值是用来表示程序的退出状态的,return 0表示无错误,其他的返回值根据系统不同可能代表不同的类型,如果不返回可能会无法检测到错误。

另外一个原因是:如果返回值是返回到栈上的,则程序未返回值的情况下,程序的调用者会从栈上误pop一个值认为是程序的返回值,这样的话就会造成下面的操作错误,因为多pop了一个值。

18楼:澈力木格

void和int表示的是主函数的返回值,void返回的是空值,int返回的是一个整型数值。

用的是int main,在程序结束时必须写上return 0(或者任何一个整数);而用的是void main就不需要return返回语句。

19楼:匿名用户

c语言中用void main()

c++中用int main(),其中

int main()最后必须加return 0;

补充中的不可以,main是主函数,一个程序中只能有一个主函数。void aaa()是一个普通的函数,可以被主函数或者其他普通函数调用

20楼:浪哥

void main表示空的主函数,不需要返回值;

但是int main需要返回一个int型的值。

21楼:徐临祥

那主调函数还.c语言中void main和int main有什么区别,是不是在int main里面不能出现非int类型的的东西阿,...

22楼:匿名用户

在上面这种情况void和int可有可无,对结果不影响,只是为了书写规范。

可以,其他函数也可以

23楼:绍凯文昕月

在dev-c++中必须写成int

main,写成int

main比较规范,返回0则表示程序正常退出。

在c语言中主函数开头写“void main()”和“int main(void)”,有什么区别,标准写法是什么

24楼:匿名用户

没有什么标准bai写法,两du种都可以。一般单个程序中用不zhi着main的返回dao值,可以直接写void main。但如果专是一个比较大的工程,你可属能需要知道某个子程序的执行结果,这时候那个子程序的main就可以写成int main了,这样就可以根据返回值来知道子程序是否正确执行,或出了什么错误

25楼:匿名用户

都可以,区别是使用int main(void)需要加上return 0;‘0’表示程序正常结束

其实int main(void)才是标准的

26楼:匿名用户

int main(void)

27楼:匿名用户

c语言这两个差别不大,但是在c++,对于有的编译器必须写成int main()

c语言编写排序函数,实现对主函数中数组的升序排序

1楼 黑色翅膀 飞翔 void bubble sort int a int n p2 p1 2楼 麻元豆花 经典的两个排序 1 选择排序 include main for i 0 i 5 i printf 3d a i 2 冒泡排序 include main for i 0 i 5 i printf...

c语言中的函数形参为void是什么意思

1楼 匿名用户 c语言中的void 基本上就是两个意思 无,没有 任意类型 这两个意思,与void出现的 位置和修饰变量相关 函数返回值位置,如 void func int i 表示func 函数没有返回值,void不可省 函数参数位置,如 void func void 表示func 函数即没有返回...

c语言中按任意键的函数是什么呀谢谢

1楼 匿名用户 printf 输入任意键继续! getchar 这时需要从键盘输入任意键才能继续下面的 。 其他 。 2楼 匿名用户 system pause 加头文件 include c语言中的 按任意键继续 3楼 匿名用户 include int main void 4楼 include inc...