rand:随机函数
但由于内部起始值默认是1,所以根据内部公式,只用rand函数的话数字其实并不是真正随机的。
例:void main()
{int res = rand()
printf("%d\n",res);
}
这个输出的值每次都是相同的。
如何让数字变得相对随机呢,那么要让rand的起始值变化。
这里介绍一下srand:srand(x); 将rand的初始值改为x。
在这里引用系统的时间(因为系统时间一直在变),需要#include <time.h>这个函数库。
void main()
{
char *name[] = {"abb","acc","bbc","abc","qwe","asd","zxc"};
time_t temp;
time(&temp);
int len = sizeof(name)/sizeof(name[0]);
srand(temp);
int res = rand()% len;
printf("%s\n",name[res]);
int i;
scanf("%d",&i);
}
这样每次输出的数字就会相对随机。