4、C/C++ main() 规范写法

C/C++ main() 规范写法

void main() { /* ... */ }

上面的声明方式在 C++ 中从未被允许,甚至也不是 C 的声明方式。这一点可以查看 ISO C++ 标准 3.6.1[2] 或 ISO C 标准 5.1.2.2.1. 一个符合规范的声明方式是:

int main() { /* ... */}

int main(int argc, char* argv[]) { /* ... */ }

符合规范的实现方式可能提供了更多版本的 main(),但是他们都必须有 int 类型的返回值,main() 返回的 int 是程序向调用它的“系统”返回值的一种方式。在不提供这样的机制的系统中,返回值被忽略,但这不会使“void main()” 成为合法的 C++ 或 C 语法。即使你的编译器接受 "void main()“,我们也应该避免使用它,这会被 C 和 C++ 程序员所不认可的。

**在 C++ 中,main() 不需要包含一个明确的返回语句。在这种情况下,返回值为 0,意味着程序成功执行。**例如:

#include <iostream>
int main()
{
  std::out << "This program returns the integer value 0\n";
}

注意,不管是 ISO C++ 还是 C99 都没有允许你不加返回类型,也就是说,与 C89 和 ARM C++ 相比,”int“ 不被认为是声明中的缺失类型,因此:

#include <iostream>
main() { /* ... */ }

是错误的,因为 main() 的返回类型缺失了。

该示例来自于: http://www.stroustrup.com/bs_faq2.html#void-main

根据上述内容总结如下:使用 “void main()” 或仅仅写个 “main” 都不是好的习惯,尽管在某些编译器下允许你这么写,但这不是是标准的语法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值