小花仙精灵王手绘图片:C++点滴:main()函数

来源:百度文库 编辑:知味女性网 时间:2020/04/07 20:33:32

C++点滴:main()函数

tiger

main()函数是C++程序的入口,任何C++程序都必须提供一个且是唯一一个main()函数。
标准C++ 的main()函数有以下2中定义方式:
代码: 全选
int main() {
    ...
}


代码: 全选
int main(int argc, char *argv[]) {
    ...
}


第二种定义的参数 char *argv[] 也可以写成 char **argv

与其他函数不同,main() 函数在函数结尾隐含了 return 0; 语句,我们可以显式的写上这个返回语句,也可以不写,都符合标准。

Re: C++点滴:main()函数

tiger

关于第二种定义方式的参数:
int argc -- 记录命令行参数的个数,命令行参数的数量最小为1,及可执行文件本身的名称。
char *argv[] -- 命令行参数(数组)

如下面程序:
代码: 全选
// hello.cpp
#include

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.