函数的基本使用和递归
1.函数是什么
2.库函数
3.自定义函数
4.函数参数
5.函数调用
6.函数的嵌套调用和链式访问
7.函数的声明和定义
8.函数递归
1. ¿Qué es una función?
En informática, una subrutina (función) es una determinada parte del código de un programa grande, que se compone de una o más declaraciones, es responsable de completar una tarea específica y es relativamente independiente de otros códigos.
Generalmente, existen parámetros de entrada y valores de retorno, que proporcionan la encapsulación del proceso y la ocultación de detalles . Estos códigos suelen ser bibliotecas de software integradas
函数的基本组成: ** 返回类型 函数名 和函数参数**
{
函数体;
}
列如: int MEI(int x,int y);
{
int z=x+y;
return z;
}
Ejemplo 1: calcular la suma de dos números
int ADD(int x, int y) {
int z = x + y;
return z;
}
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
int sum = ADD(a, b);
printf("sum=%d", sum);
return 0;
}
Funciones de biblioteca
Funciones proporcionadas por el
lenguaje C Hay funciones de biblioteca en el lenguaje C, así como archivos de encabezado.
* Sitio web de referencia: www.cplusplus.com
https://zh.cppreference.com/
Echemos un vistazo a la función strcpy
#include <stdio.h>
//strcpy的头文件
#include <string.h>
int main() {
char arr1[] = "bit";
char arr2[20] = "1111";
//把arr1数组中的内容copy到arr2中,会覆盖!!
strcpy(arr2, arr1);
//打印arr2
printf("%s", arr2);
return 0;
}
función memset
#include <stdio.h>
#include <string.h>
int main() {
//memset
char arr[] = "hello world";
//把arr中前五个字符替换成*号
memset(arr, '*', 5);
printf("%s", arr);
return 0;
}
Función personalizada
Función autodefinida
#include<stdio.h>
//定义函数
int get_max(int x, int y) {
if (x > y)
return x;
else
return y;
}
int main() {
int a = 10;
int b = 20;
int max = get_max(a, b);
printf("max=%d\n", max);
}
Ejemplo 2:
Escriba una función para intercambiar el contenido de dos variables enteras
#include <stdio.h>
// Dirección de recepción de la variable puntero
void SWAP (int* x, int* y) {
int tmp = 0;
tmp = *x;
*x = *y;
*y = tmp;
}
int main() {
int a = 10;
int b = 20;
printf("a=%d,b=%d \n", a, b);
//把a和b的地址传过去
SWAP(&a, &b);
printf("a=%d,b=%d", a, b);
return 0;
}