成都网站建设设计

将想法与焦点和您一起共享

c语言如何写main函数 C语言的main函数

数据结构C语言题目求解答,最后面的主函数main应该怎么写?

main可以建立两个多项式,相加后得到另一个多项式。并输出这三个多项式。然后释放链表空间。结束程序。

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了竹山免费建站欢迎大家使用!

初学编程,C语言中的main函数

考虑到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函数的书写规范是什么?

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

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

{

...

return 0;

}

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

{

...

return 0;

}

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

浏览老版本的C代码,将会发现程序常常以。

main()

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

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

void main()

有些编译器允许这种形式,但是还没有任何标准考虑接受它。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地表示:void main( ) 的定义从来就不存在于 C++ 或者 C 。所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。

c语言main函数

// C语言由bell实验室创立,但后续分支太多

// 所以ISO(国际标准化组织)制定了统一标准

// 目前通过的标准主要有3个 C89 C99 C11

ASNSI X3.159-1989            对应C89由ASNSI制定

ISO/IEC 9899:1990            还是C89,只是ISO从ASNSI那里“抄袭”过来,又称C90

ISO/IEC 9899/AMD1:1995       对于C89的补充,又称C95

ISO/IEC 9899:1999            C99标准

ISO/IEC 9899:2011            C11标准

//关于main函数的标准在C89和C99又有差异

类型一,不指明返回类型

main (){return 0;}

//这在C89中是合法的,因为不指明返回类型其实是隐含的告诉编译器,这个函数返回类型是int

//这在C99中是非法的,因为C99要求显式声明所有函数

类型二,不书写return ...;在main函数中

int main(void){}

// C89, 函数返回值未定义

// C99, 当main函数返回类型为int, 且没有写return语句时,默认返回0

// C99, 其他情况下,返回值未定义

类型三,定以返回值为非int

void main(void) {return;}

// C89, 非法(不bb, 就是非法)

// C99, 允许main函数返回类型由实现定义,支持void以及其他类型返回值

// 所以你的编译环境,不支持C99标准

// 而你的书,比较“新”

// 建议书写标准宏编译

#if __STDC_VERSION__  199901L        // 标准支持C99

void main(void)

#elif defined __STDC__                // 支持标准C(89/99)

int main(void)

#else                                 // 如果都不支持,我也很难受

#error Standard C not support

#endif


网页名称:c语言如何写main函数 C语言的main函数
本文链接:http://chengdu.cdxwcx.cn/article/dosdiho.html