C 语言函数实例:揭秘函数的强大用途351



在 C 语言中,函数是必不可少的构建块。它们允许您将代码组织成可重用的模块,从而提高代码的可读性、可维护性和可重用性。本文将深入探究 C 语言函数,提供各种实例,以全面展示其强大用途。

函数基本概念

函数是命名代码块,它接收输入参数(如有必要),执行特定任务,并可以返回一个值(如有必要)。函数的原型定义了函数的名称、返回类型和参数类型。函数可以在程序中任何位置调用,只需提供所需的参数即可。

函数实例

1. 简单求和函数



int sum(int a, int b) {
return a + b;
}

此函数接受两个整型参数并返回它们的和。

2. 交换两个数的函数



void swap(int *a, int *b) {
int temp;
temp = *a;
*a = *b;
*b = temp;
}

此函数通过指针传递两个整型变量的地址,并交换其值。

3. 递归阶乘函数



int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}

此函数使用递归计算给定数的阶乘,即该数与所有较小正整数的乘积。

4. 字符串连接函数



char *strcat(char *dest, const char *src) {
int i, j;
i = strlen(dest); // 计算 dest 的长度
j = 0;
// 遍历 src 并将其附加到 dest 的末尾
while (src[j] != '\0') {
dest[i + j] = src[j];
j++;
}
dest[i + j] = '\0'; // 添加终止字符
return dest;
}

此函数将一个字符串附加到另一个字符串的末尾。

5. 文件读取函数



FILE *fopen(const char *filename, const char *mode) {
// 打开文件
FILE *fp = NULL;
fp = fopen(filename, mode);
if (fp == NULL) {
perror("fopen"); // 处理错误
}
return fp;
}

此函数打开一个文件并返回指向该文件流的指针。

6. 内存分配函数



void *malloc(size_t size) {
// 分配 size 字节内存
void *ptr = malloc(size);
if (ptr == NULL) {
perror("malloc"); // 处理错误
}
return ptr;
}

此函数动态分配指定大小的内存块并返回指向该块的指针。

7. 字符串比较函数



int strcmp(const char *s1, const char *s2) {
// 按字符比较两个字符串
while (*s1 != '\0' && *s2 != '\0') {
if (*s1 > *s2) {
return 1;
} else if (*s1 < *s2) {
return -1;
}
s1++;
s2++;
}
if (*s1 == '\0' && *s2 == '\0') {
return 0;
} else if (*s1 == '\0') {
return -1;
} else {
return 1;
}
}

此函数比较两个字符串并返回一个整数,指示它们是相等(0)、大于(1)还是小于(-1)。

C 语言函数是功能强大的工具,可让您创建模块化、可重用和高效的代码。本文提供了各种实例,展示了函数在求和、交换、递归、字符串操作、文件处理、内存管理和字符串比较等任务中的应用。通过熟练掌握 C 语言函数,您可以编写健壮且可扩展的程序。

2024-11-08


上一篇:C 语言中实现取整

下一篇:使用 C 语言输出大号字符