一、函数定义
函数返回值类型 函数名(无参 / 有参 [ 可以有多个参数 ])
{
函数体部分
....
返回值 【 函数返回值类型为 void 就不写返回值 】
}
注: 1. /* XXXXXXX */ /**/ w为多行注释标识符
2. // XXXXX // 为单行注释标识符
/* 1. 无参数 无返回值 的函数
蓝色部分为函数返回值类型: 当前无返回值为 void
红色部分为函数名: print_hello
括号里面为参数: 当前没有
花括号里面的是函数体: 表示当前这个函数名为 print_hello 的函数
执行内容就在花括号里面 出去之后就不是了 起限制所要执行代码的范
围的作用
*/
void print_hello()
{
// printf也是个函数 输出数据的函数 当前有参数传入
printf("**************************\n");
printf("********* Hello! *********\n");
printf("**************************\n");
}
/* 2. 无参数 有返回值 的函数
蓝色部分为函数返回值类型: 当前有返回值为 int 整数类型
红色部分为函数名: sum_1
里面为参数: 当前没有
花括号里面的是函数体: 表示当前这个函数名为 sum 的函数
执行内容就在花括号里面 出去之后就不是了 起限制所要执行代码的范
围的作用 它返回变量 a 和 b 的和
*/
int sum_1()
{
int a = 1;
int b = 2;
return a + b;
}
/* 3. 有参数 有返回值 的函数
蓝色部分为函数返回值类型: 当前有返回值为 int 整数类型
红色部分为函数名: sum_2
括号里面为参数: 当前为 int类型的参数变量 a 和 b
花括号里面的是函数体: 表示当前这个函数名为 sum 的函数
执行内容就在花括号里面 出去之后就不是了 起限制所要执行代码的范
围的作用 它返回变量 a 和 b 的和
*/
int sum_2(int a, int b)
{
return a + b;
}
二、调用函数
函数名(无参 / 有参 [ 可以有多个参数 ]);
// 调用函数 1
print_hello();
// 调用函数 2
int sum1 = sum_1();
// 调用函数 3
int a = 2;
int b = 4;
int sum2 = sum_2(a, b);
main.cpp
/* *****************************************************
预编译 stdio.h 头文件 相当于导入 python 的某某库
* ******************************************************/
#include<stdio.h>
void print_hello()
{
printf("**************************\n");
printf("********* Hello! *********\n");
printf("**************************\n");
}
int sum_1()
{
int a = 1;
int b = 2;
return a + b;
}
int sum_2(int a, int b)
{
return a + b;
}
// 调用函数 1
print_hello();
// 调用函数 2
int sum1 = sum_1(); // 注意变量名不能和函数名同名 不然会混淆
// 调用函数 3
int a = 2;
int b = 4;
int sum2 = sum_2(a, b);
执行结果
Compiling…
main.cpp
F:\Microsoft Visual Studio\MyProjects\newas\main.cpp(30) : error C2556: ‘int __cdecl
print_hello(void)’ : overloaded function differs only by return type from ‘void __cdecl print_hello(void)’
F:\Microsoft Visual Studio\MyProjects\newas\main.cpp(8) : see declaration of ‘print_hello’
F:\Microsoft Visual Studio\MyProjects\newas\main.cpp(30) : error C2371: ‘print_hello’ :
redefinition; different basic types
F:\Microsoft Visual Studio\MyProjects\newas\main.cpp(8) : see declaration of ‘print_hello’
F:\Microsoft Visual Studio\MyProjects\newas\main.cpp(38) : error C2086: ‘sum’ :
redefinition
Error executing cl.exe.
newas.exe - 3 error(s), 0 warning(s)
报错:原因 没写主函数 main , 它是整个程序的入口,在 C 语言中,一个 exe 程序一定会有一个 main 函数,没写就会出错 它也是函数 但是它的名字固定为 main,在程序运行的时候,会先找 main 函数的位置进入它的函数体中顺序执行里面代码;而编译过程他是从 cpp 文件的第一行开始向下执行代码,它先识别出所有位于 main 函数之前的头文件或者函数,然后运行的时候就知道了。
main.cpp
#include<stdio.h>
void print_hello()
{
printf("**************************\n");
printf("********* Hello! *********\n");
printf("**************************\n");
}
int sum_1()
{
int a = 1;
int b = 2;
return a + b;
}
int sum_2(int a, int b)
{
return a + b;
}
int main()
{
printf("调用函数 1\n");
print_hello();
printf("调用函数 2\n");
int sum1 = sum_1();
printf("sum1: %d\n", sum1);
printf("调用函数 3\n");
int a = 2;
int b = 4;
int sum2 = sum_2(a, b);
printf("sum2: %d\n", sum2);
return 0;
}
执行结果