自定义函数
自定义函数和库函数一样,有函数名、返回值类型和函数参数。但是不同的是这些都是由我们自己来设计。
ret_type fun_name(x_paral, *)// 函数的定义
//返回值类型 函数名 (函数参数)
{
statemeng;//函数体语句项
}
int main()
{
ret_type fun_name(s_paral, *);// 函数的调用
return 0;
}
形参和实参
形参:在函数定义中的参数,用于接收调用该函数时传入的值。
实参:调用函数时传递给函数的值,它会初始化对应的形参。
#include <stdio.h>
// 函数定义,x和y是形参
void swap(int x, int y) {
int temp;
temp = x; // 保存x的值
x = y; // 把y的值赋给x
y = temp; // 把temp(原先的x值)赋给y
printf("Inside swap, x = %d, y = %d\n", x, y);
}
int main() {
int a = 10;
int b = 20;
// 调用swap函数,a和b是实参
swap(a, b);
printf("After calling swap, a = %d, b = %d\n", a, b);
return 0;
}
举例
使用函数找出两个数中的较大值
int get_max(int x, int y)
{
int z = 0;
if (x < y)
z = y;
else if (x > y)
z = x;
return z;
}
int main()
{
int a = 10;
int b = 20;
int max = get_max(a, b);
printf("%d\n", max);
return 0;
}
使用函数交换两个整型变量中的内容
//交换两个整型变量的内容
void exchange(int* px, int* py)
//当不需要返回任何值时,函数返回类型就使用void。
{
int z = 0;
z = *px;
*px = *py;
*py = z;
}
int main()
{
int integer1 = 0;
int integer2 = 0;
printf("Enter two integer to exchange the num:");
scanf("%d %d", &integer1, &integer2);
exchange(&integer1, &integer2);
printf("the first integer entered:%d\n",integer1);
printf("the second integer entered:%d\n",integer2);
return 0;
}