You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++单文件运行多个函数的方法及main函数优先级疑问

C++中main()函数的作用及单文件运行多个函数的方法

为什么只有main()函数被执行?

C++标准明确规定,main()是程序的唯一入口点。当操作系统加载你的可执行文件后,会自动定位并调用main()函数,程序从这里开始执行。其他函数(比如你写的starter())只是被定义了,但如果没有被显式调用,编译器和操作系统都不会主动去执行它们。

这和Python的执行逻辑完全不同:Python是从脚本第一行开始逐行执行代码,而C++是严格以main()为起点,所有非main函数的逻辑,必须通过在main()或其他被调用的函数中触发,才会被执行。

如何在单文件中运行多个函数?

要让starter()函数也执行,你只需要在main()函数内部显式调用它即可。比如修改你的代码如下:

#include <iostream>
using namespace std;

int starter()
{
    //declaring variables
    int a, b;
    int result;

    // process
    a = 5;
    b = 2;
    a = a + 1;
    result = a - b;

    //print the result
    cout << result << endl; // 加换行区分两个输出

    //terminate the program
    return 0;
}

int main()
{
    // 先调用starter函数
    starter();

    int a = 5; //"c-like"
    int b (3); // "constructor"
    int c {1}; // "uniform"
    int result; //initial value undetermined

    result = a + b - c;

    cout << result << endl;

    return 0;
}

运行修改后的程序,会先执行starter()里的逻辑输出4,再执行main()剩余代码输出7。

你还可以在main()里多次调用同一个函数,或者调用多个不同函数,只要遵循函数语法正确调用即可——如果函数需要参数,直接像Python中那样传递对应参数就行。

内容的提问来源于stack exchange,提问作者Aurel Gerber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 15:06:10