这个程序开始执行的功能main()顶部,和第一行是执行打印开始main()。在main()第二行是一个函数调用的函数doprint()。在这一点上,main()语句执行暂停,和CPU跳转到doprint()。第一个(也是唯一的)在doprint打印在doprint()线。当doprint()终止,调用者(main())继续执行它离开的地方。因此,在主要的打印结束main()执行的下一条语句。
注意,函数调用是通过函数名,再加上一个参数列表圆括号()。在这种情况下,因为我们的函数没有使用参数,列表是空的。我们将在下一节课中谈论更多的函数参数。如果您忘记了参数列表,函数将不被调用!
为什么要将一个值返回到操作系统?此值被称为状态代码,它告诉操作系统(和任何其他程序,称为你的)是否你的程序成功执行或不执行。通过共识,0意味着成功,一个积极的回报价值意味着失败。
注意,C++标准中明确规定,main()必须返回一个int,但是,如果你不提供主要的返回语句,编译器将返回0代表你。然而,它通常是一个好主意,明确返回一个值,从主,都显示你的意图,并与其他功能的一致性(这不会让你省略返回值)。
现在,你也应该定义你的main()功能底层代码文件。我们将讨论为什么短期内,在第1.7节-前声明。
注意,函数调用是通过函数名,再加上一个参数列表圆括号()。在这种情况下,因为我们的函数没有使用参数,列表是空的。我们将在下一节课中谈论更多的函数参数。如果您忘记了参数列表,函数将不被调用!
1
2
3
4
5
6
7
8
9
10
11
// void means the function does not return a value to the caller
void returnNothing()
{
// This function does not return a value so no return statement is needed
}
// int means the function returns an integer value to the caller
int return5()
{
return 5; // this function returns an integer, so a return statement is needed
}
现在你已经了解main()功能真正有效的概念工具。当程序执行时,操作系统会调用一个函数来main()。执行然后跳转到主。主内的语句按顺序执行。最后,主返回一个整数值(通常是0)返回到操作系统中。这就是为什么主要定义为int main()。为什么要将一个值返回到操作系统?此值被称为状态代码,它告诉操作系统(和任何其他程序,称为你的)是否你的程序成功执行或不执行。通过共识,0意味着成功,一个积极的回报价值意味着失败。
注意,C++标准中明确规定,main()必须返回一个int,但是,如果你不提供主要的返回语句,编译器将返回0代表你。然而,它通常是一个好主意,明确返回一个值,从主,都显示你的意图,并与其他功能的一致性(这不会让你省略返回值)。
现在,你也应该定义你的main()功能底层代码文件。我们将讨论为什么短期内,在第1.7节-前声明。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//#include <stdafx.h> // Visual Studio users need to uncomment this line
#include <iostream>
void printA()
{
std::cout << "A" << std::endl;
}
void printB()
{
std::cout << "B" << std::endl;
}
// function printAB() calls both printA() and printB()
void printAB()
{
printA();
printB();
}
// Definition of main()
int main()
{
std::cout << "Starting main()" << std::endl;
printAB();
std::cout << "Ending main()" << std::endl;
return 0;
}