C 和 C++ 中的mian函数解析
来源:互联网 发布:js阻止a标签1次跳转 编辑:程序博客网 时间:2024/04/28 02:35
main函数的返回值:
return
返回的数值由程序的作者自定。返回不同的值可以代表不同的含义,一般是代表出错的原因,传统上返回0
代表程序正常结束。
main
函数的返回值用于说明程序的退出状态。如果返回0
,则代表程序正常退出,否则代表程序异常退出。
在C89
(C语言的早期标准)中,main()
是可以接受void
返回值的。Brian W. Kernighan 和Dennis M. Ritchie 的经典巨著 The C programming Language(《C 程序设计语言》)用的就是void main()
。不过在最新的C99
标准中,只有以下两种定义方式是正确的:
int main(void)int main(int argc, char *argv[])
如果你不需要从命令行中获取参数,请用int main( void )
;否则请用int main(int argc, char *argv[])
。
main
函数的返回值类型必须是int
,这样返回值才能传递给操作系统。
如果main
函数的最后没有写return
语句的话,C99
规定编译器要自动在生成的目标文件中(如exe
文件)加入return 0
,表示程序正常退出。注意,vc6
不会在生成的目标文件中加入return 0
。不过,gcc3.2
(Linux
下的 C
编译器)会在生成的目标文件中加入return 0
。
C++98
(C++
语言的一个标准)中定义了如下两种main
函数的定义方式:
int main()int main(int argc, char *argv[])int main()//等同于C99中的int main(void);
int main(int argc, char *argv[])
的用法也和C99
中定义的一样。同样,main
函数的返回值类型也必须是int
。如果main
函数的末尾没写return
语句,C++98
规定编译器要自动在生成的目标文件中加入return 0
。同样,vc6
也不支持这个特性,但是g++3.2
(Linux
下的C++
编译器)支持。
在C
和C++
中,不接收任何参数也不返回任何信息的函数原型为void foo(void);
。main
函数的返回值应该定义为int
类型,C
和C++
标准中都是这样规定的。虽然在一些编译器中,void main
可以通过编译(如vc6
),但并非所有编译器都支持void main
,因为标准中从来没有定义过void main
。g++3.2
中如果main
函数的返回值不是int
类型,就根本通不过编译。而gcc3.2
则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用int main
。
main
函数的返回值用于说明程序的退出状态。如果返回0
,则代表程序正常退出,否则代表程序异常退出。
任何一个C++
程序都必须定义一个main
函数,它的返回类型总是int
类型。这个函数由操作系统来调用,在main
函数执行完以后,程序也就终止了。main
也可以使用return
向操作系统返回一个值,使用操作系统的命令可以检测main
的返回值。一般约定在main
返回0
时,表示程序运行过程中没有出现错误,其它非零值表示程序出现异常情况。
在大多数系统中,main
函数的返回值是一个状态指示器。返回值0
往往表示main
函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。通常非零返回值表明有错误出现。每一种操作系统都有自己的方式告诉用户main
函数返回什么内容。
- C 和 C++ 中的mian函数解析
- mian函数返回值解析
- 关于C和C++中void mian()和int main()的问题
- 关于C和C++中void mian()和int main()的问题
- c语言中的内联函数用法解析
- mian()函数的argc和argv[]
- mian()函数和return的用法讲解
- C/C++ 误区:int mian()和void main() 的区别与争议!
- C语言中的函数和函数指针
- 解析C中的sizeof和字节对齐
- 解析C中的sizeof和字节对齐
- 解析C中的sizeof和字节对齐
- Makefile中的-C和M=解析
- Makefile中的-C和M=解析
- strcpy函数的实现和解析(C/C++)
- C/C++——strcpy函数的实现和解析
- C/C++——strcpy函数的实现 和解析
- C和C++库中的排序函数——sort与qsort解析
- 图形用户界面
- 07-Spring-spring中使用jdbc
- 阿里巴巴发布 AliGenie 语音开放平台「智联网」战略又落一子
- 凸优化中的基本概念
- 单调队列的简单运用
- C 和 C++ 中的mian函数解析
- 08-Spring-spring整合hibernate
- 美国加州放宽路测条件,自动驾驶汽车可于明年进行「无人」测试
- 删除创建时间超过七天的文件
- 2017.10.24 LeetCode 88. Merge Sorted Array 【思维呀】
- 51nod 1618 树或非树 树链剖分+线段树
- angularjs过滤、全选、删除
- 09-Spring-spring整合注解形式的hibernate
- 人脸识别、动作识别.....世界最大成人片网站为用户操碎了心