• main函数


    摘要:为何必须包含main函数、main函数的返回值为啥是0

    一、每个C++程序必须包含main函数

    • 操作系统通过调用 main 来运行C++程序

    二、main函数的返回值

    1. 举个最简单的main函数作为例子

    /*  此函数只返回给操作系统一个值  */

    int main()
    {
    	return 0;
    } 
    

    2. main函数的返回值返回给谁?有何作用?

    • return语句结束函数的执行,并返回给调用者一个值。
    • 所以,main函数的return返回值给操作系统。
    • main函数的返回值可以看做是状态指示器,返回0表明执行成功,非0的返回值的含义由系统定义,通常用来指出错误类型。
    • 为了使返回值与机器无关,cstdlib头文件定义了两个预处理变量(EXIT_SUCCESS、EXIT_FAILURE)来分别表示成功与失败。

    3. 补充

      我们知道如果一个函数的返回类型不是void,那么它必须返回一个值。但是这个规定对于main函数是个例外,是的,main函数确实要返回给调用者一个值,但我们可以省略return语句,此时,编译器会隐式地插入一条返回0的return语句。

    三、main:处理命令行选项

    1. 我们可以给main函数传递实参

    • 目的:通过设置一组选项来确定函数所要执行的操作。
    • 示例:若main函数位于可执行文件prog内,我们可以向程序传递下面的选项:prog -d -o ofile data0
    • 形式:int main(int argc, char *argv[])
    • 解读:第一个形参argc表示数组中字符串的数量;第二个形参argv是一个数组,它的元素是指向C风格字符串的指针
    • 当实参传给main函数之后,argv的第一个元素指向程序的名字或者一个空字符串,接下来的元素依次传递命令行提供的实参。最后一个指针之后的元素值保证为0。

    2. 题目

    编写一个程序,使其接受上面所示的选项;输出传递给main函数的实参的内容。

    #include <iostream>
    #include <vector>
    #include <cctype>
    #include <string>
    
    using std::cin;
    using std::cout;    
    using std::endl;
    using std::vector;
    using std::string;
     
      
    int main(int argc, char *argv[])	//形参argv是一个数组,它的元素是指向C风格字符串的指针  
    {  
        for (int i = 1; i != argc; ++i) {  
            cout << argv[i] << endl;  
        }  
        return 0;  
    }  
    

      

  • 相关阅读:
    Git 分支管理
    Kubernetes 中文文档
    Docker 命令大全
    Redis 常用命令 大全
    Docker 资源汇总
    Docker 安装 Redis
    JavaScript闭包
    CSS选择器
    JavaScript类型转换
    javascript字符串处理方法
  • 原文地址:https://www.cnblogs.com/xzxl/p/7619716.html
Copyright © 2020-2023  润新知