我的数组随机化函数打印相同的数组 [重复]
Posted
技术标签:
【中文标题】我的数组随机化函数打印相同的数组 [重复]【英文标题】:My array randomizer function prints the same array [duplicate] 【发布时间】:2022-01-15 15:10:43 【问题描述】:我是一名学习 C 的学生 我正在尝试为我的程序编写一个随机字符串生成器,一切运行良好,当我执行程序时它会打印一个随机的字母和数字字符串,但再次执行时它会再次打印相同的字符串。
代码如下:
#include <stdio.h>
const int max=5;
char *randstring(size_t);
main()
char *test;
test=randstring(max);
printf("%s",test);
free(test);
char *randstring(size_t length)
static char charset[] = "abcdefghijklmnopqrstuvwxyz0123456789";
char *randomString = NULL;
if (length)
randomString=malloc(sizeof(char)*(length +1));
if (randomString)
for (int n = 0;n<length;n++)
int key = rand()%(36-1);
randomString[n] = charset[key];
return (char *)randomString;
感谢任何帮助、建议或 cmets。谢谢
【问题讨论】:
【参考方案1】:你需要初始化随机数生成器:
#include <stdio.h>
#include <stdlib.h>
void main()
time_t t;
srand((unsigned)time(&t));
//...Code here
【讨论】:
对不起,如果这是一个明显的答案,可以解决我的问题。谢谢!以上是关于我的数组随机化函数打印相同的数组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章