函数
产生随机数
c
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void)
{
// // 获取当前系统时间(时间戳)
// time_t time1 = time(NULL);
// printf("%d", time1);
// // 添加随机数种子
// srand(time1);
// 以上简写
srand((time_t)time(NULL));
for (int i = 0; i < 10; i++)
{
// printf("%d\n", rand());
// printf("%d\n", rand() % 100); // 随机 0 - 99
printf("%d\n", rand() % 51 + 50); // 随机 50 - 100
printf("%d\n", rand() % 101 + 50); // 随机 100 - 150
}
return 0;
}
函数定义
函数返回值 函数名(参数列表){}
c
int add(int a, int b)
{
return a + b
}
没有函数返回值时可以是void
c
void fun(){
// xxx
return;
}
函数声明
c
#include <stdio.h>
// 函数声明
extern int add(int a, int b);
int add1(int a, int b);
int add2(int, int);
int main(void)
{
printf("%d", add(1,2));
return 0;
}
// 函数实现
int add(int a, int b)
{
return a + b;
}
终止程序执行
c
#include <stdio.h>
int main(void)
{
printf("22");
printf("33");
// exit(0); // 主函数中与 return 0 是一样的
printf("44");
printf("55");
return 0;
}
int add(int a, int b)
{
printf("1");
printf("2");
exit(0); // 子函数中会终止程序执行
printf("3");
printf("4");
return 0;
}
多文件编程
文件结构
c
-头文件
--head.h // 声明文件
-源文件
--main.c // 主函数
--fun.c // 子函数
- fun.h
c
#pragma once // 防止头文件重复包含
// 全局变量的定义
// 函数声明
extern int max(int,int);
- main.c
c
#include <stdio.h>
#include "head.h" // 导入自己的头文件需要用双引号
int main(){
int a = 1;
int b = 2;
printf("%d", max(a,b));
return 0;
}
- fun.c
c
// 函数实现
int max(int a,int b){
return a > b ? 1 : 0;
}
防止重复定义
在a.c
中include a.h
,又在b.c
中include a.h
,互相引用的情况下,控制台会报错 xxx 1024。
- 解决方法 1
在 .h 文件中添加一行#pragma once
防止重复定义,这种方法只能在windows
中使用
- 解决方法 2,可以在
linux
中使用
在 .c 文件中使用
c
#ifndef __SOME_H__ // 如果没有定义 xxx
#define __SOME_H__ // 则定义 xxx
// 代码部分
int main(){
// xxx 代码
}
#endif