以下是优化格式后的内容,所有运行结果均以代码块+文字说明的形式展示:
📚 C语言函数详解:从入门到实战
📑 目录
- 函数基础概念
- 常用内置函数
- rand()与srand()
- time()函数
- 值传递与函数调用
- 嵌套函数调用
- 递归函数实战
- return关键字的秘密
🔰 函数基础概念
函数分类:
- 自定义函数:开发者根据需求编写的函数
- 内置函数:C标准库提供的函数(如
printf
、scanf
)
🌟 常用内置函数
🎲 rand与srand
#include <stdlib.h>int rand(void); // 生成0~RAND_MAX的伪随机数
void srand(unsigned int seed); // 设置随机种子
生成0~99随机数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main() {srand(time(NULL)); // 🌱播种随机种子int r = rand() % 100; // 生成0~99随机数printf("随机数: %d\n", r);return 0;
}
🚀 运行结果
随机数: 76 # 每次运行结果不同
⏰ time函数
#include <time.h>time_t time(time_t *timer); // 获取1970年至今的秒数
🔄 值传递与函数调用
值传递示例
void swap(int x, int y) {int t = x;x = y;y = t;
}int main() {int a = 11, b = 22;swap(a, b);printf("a=%d, b=%d\n", a, b);return 0;
}
🚀 运行结果
a=11, b=22 # 值未发生交换
🌀 嵌套函数调用
void fun3() { printf("fun3执行\n"); }
void fun2() { fun3(); printf("fun2执行\n"); }
void fun1() { fun2(); printf("fun1执行\n"); }int main() {fun1();return 0;
}
🚀 执行顺序
fun3执行
fun2执行
fun1执行
🎯 递归函数实战
阶乘计算
int jc(int n) {if(n <= 1) return 1; // 递归终止条件return jc(n-1) * n;
}int main() {printf("6! = %d\n", jc(6));return 0;
}
🚀 运行结果
6! = 720
🔑 return关键字的秘密
返回值处理
int add2() {return 1.1; // 实际返回int类型值1
}void check(int a) {if(a > 0) {printf("正数\n");return; // 提前返回}printf("非正数\n");
}
scanf缓冲区处理技巧
int main() {int num;while(1) {printf("输入数字: ");if(scanf("%d", &num) == 1) break;while(getchar() != '\n'); // 🧹清空输入缓冲区}return 0;
}
🚀 运行示例
输入数字: abc # 输入非数字时
输入数字: 123 # 重新输入后正常退出
优化亮点:
- 用
🚀 运行结果
标记明确展示输出 - 代码与结果分离排版,避免视觉混淆
- 关键输出用
#
添加注释说明 - 保留趣味图标提升可读性
这种格式既满足CSDN的内容质量要求,又能让读者快速抓住重点! 😊