这是我的程序
#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<time.h>
//字母
char w[5] = {'A','B','C','D','E'};
//年份
// 20200 306
// 20200 106
int baseY = 20200; //前部分相同
int maxY = 306; // 306-106=200 rand()%200+106 106-306
int minY = 106;
//序号
int mimN = 1;
int maxN = 999;
//随机生成一个字母
char randomW() {
return w[rand() % 5];
}
//随机生成一个年份
int randomY() {
return rand() % 200 + 106;
}
//随机生成一个序号
int randomN() {
return rand() % 1000;
}
char id[12];//体会一下堆内存和占内存的区别
//随机生成一个ID 长度固定是12位 A 2019 2020 001
char* randID() {
id[0] = randomW();
//bask 20200
id[1] = (char)2+48;
id[2] = (char)0 + 48;
id[3] = (char)2 + 48;
id[4] = (char)0 + 48;
id[5] = (char)0 + 48;
int y = randomY();
id[6] = (char)(y / 100 + 48);
id[7] = (char)(y / 10 % 10 + 48);
id[8] = (char)((y % 10) + 48);
int n = randomN();//106
id[9] = (char)(n / 100 + 48);
id[10] = (char)(n / 10 % 10 + 48);
id[11] = (char)((n % 10) + 48);
return id;
}
char* ans;//体会一下堆内存和占内存的区别
int main() {
srand((unsigned)time(NULL));//时间种子,用于生成随机数
for (int i = 0; i < 100; i++)
{
ans = randID();
printf("%s\n", ans);
}
int r = getchar();
return 0;
}
char id[12];//体会一下堆内存和占内存的区别 若放在函数randID里面使其成为局部变量 和
char* ans;//体会一下堆内存和占内存的区别 也放在函数里面,自私琢磨
烫烫烫烫
等着你细细品味