函数
加法函数、数字交换函数
#include <iostream>
using namespace std;
// 函数声明
int max(int a,int b);
// 定义加法函数
int add(int num1,int num2)
{
int sum = num1 + num2;
return sum;
}
// 定义数字交换函数
void swap(int num1, int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
cout<<"数字交换后:"<<endl;
cout<<"a = "<<num1<<endl;
cout<<"b = "<<num2<<endl;
}
// 调用函数
int main()
{
// 调用加法函数
int a,b;
cout<<"a = ?"<<endl;
cin>>a;
cout<<"b = ?"<<endl;
cin>>b;
int c = add(a,b);
cout<<"c = "<<c<<endl;
// 调用数字交换函数
swap(a,b);
// 谁更大(最大值)
cout<<"max = "<<max(a,b)<<endl;
system("pause");
return 0;
}
// 谁更大
int max(int a,int b)
{
return a>b?a:b;
}
运行结果:
a = ?
1
b = ?
2
c = 3
数字交换后:
a = 2
b = 1
max = 2
请按任意键继续. . .
函数的常见样式:
无参无返、有参无返、无参有返、有参有返
函数的分文件编写
作用:让代码结构更加清晰
函数分文件编写一般有4个步骤:
- 创建后缀名为.h的头文件
- 创建后缀名为.cpp的(自定义函数的)源文件
- 在头文件中写函数的声明
- 在(自定义函数的)源文件中写函数的定义
写一个功能:交换数字
(分3个文件:源文件(main),头文件(.h),交换数字函数(.cpp))
在 Dev-C++ 5.11 遇到这样的问题:
[Error] ld returned 1 exit status
原因是:没有为这三个文件建立工程文件。
解决方案:在DEVC++里,先新建project,然后把三个文件添加到一个project里就可以了。
创建一个project
头文件 swap.h
#include <iostream>
using namespace std;
void swap(int num1, int num2);
自定义函数的源文件 swap.cpp
#include "swap.h"
// 函数的定义
void swap(int num1, int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
cout<<"数字交换后:"<<endl;
cout<<"a = "<<num1<<endl;
cout<<"b = "<<num2<<endl;
}
调用自定义函数的main源文件 swapDef_day04_4.cpp
#include <iostream>
#include "swap.h"
using namespace std;
// 调用函数
int main()
{
int a,b;
cout<<"a = ?"<<endl;
cin>>a;
cout<<"b = ?"<<endl;
cin>>b;
swap(a,b);
system("pause");
return 0;
}
编译运行后得到的文件:
运行结果:
a = ?
1
b = ?
2
数字交换后:
a = 2
b = 1
请按任意键继续. . .
使用感受:
project 是在编写大型软件时使用的,日常使用的话感觉有点卡,可能是因为要先 -o 搞出一些文件后才做出应用程序吧。