main()函数
时间:2010-06-03 来源:xyson
main()函数
由 tiger »
标准C++ 的main()函数有以下2中定义方式:
代码: 全选int main() {
...
}
和
代码: 全选int main(int argc, char *argv[]) {
...
}
第二种定义的参数 char *argv[] 也可以写成 char **argv
与其他函数不同,main() 函数在函数结尾隐含了 return 0; 语句,我们可以显式的写上这个返回语句,也可以不写,都符合标准。
Re: C++点滴:main()函数
由 tiger » 2009-07-04 14:32
关于第二种定义方式的参数:int argc -- 记录命令行参数的个数,命令行参数的数量最小为1,及可执行文件本身的名称。
char *argv[] -- 命令行参数(数组)
如下面程序:
代码: 全选// hello.cpp
#include <iostream>
int main(int argc, char *argv[]) {
std::cout << "命令名:" << argv[0] << std::endl;
if (1 == argc) {
std::cout << "Hello world" << std::endl;
return 0;
}
std::cout << "Hello to " << argc - 1 << " friends: ";
for (int i = 1; i < argc; ++i) {
std::cout << (1 == i ? "" : ", ") << argv[i];
}
std::cout << '.' << std::endl;
// return 0; //返回语句可写可不写
}
简单编译:
代码: 全选g++ -ohello -O2 hello.cpp
不带命令行参数执行程序
代码: 全选kwarph@hopeful:~$ ./hello
命令名:./hello
Hello world
有命令行参数执行程序:
代码: 全选kwarph@hopeful:~$ ./hello tiger
命令名:./hello
Hello to 1 friend(s): tiger.
代码: 全选kwarph@hopeful:~$ ./hello tiger longdouble
命令名:./hello
Hello to 2 friend(s): tiger, longdouble. 程磊
技术者五境界:工、匠、师、艺、道
tiger
相关阅读 更多 +