读书人

一个定义整型数组的有关问题

发布时间: 2012-12-30 10:43:15 作者: rapoo

一个定义整型数组的问题
这个函数是随机产生20个数字,然后分别除5取余,当为0是"条件",当为1时"条件"……
但发现前6个总是一样的结果,我输出了随机数一看,发现前五个总是一样的。
为什么前几位的输出结果总是固定的数字?(如图)
(程序只显示了一部分)
void zimu()
{
char sr[100];
int i,random[20];/*产生20个随机数*/
char dz[20]={' '};
for(i=0;i<19;i++)
{
printf("%d,",random[i]);
}
}
一个定义整型数组的有关问题
[解决办法]
random用法:random(x); //注释:x是个正整数
即可随机产生0~x之间的一切整数

void zimu()
{
char sr[100];
int i;/*产生20个随机数*/
char dz[20]={' '};
for(i=0;i<19;i++)
{
printf("%d,",random(i));
}
}


你的问题: int random[20]; 你定义了一个名为random的int数组,可是并没有初值, 然后直接在后面printf出来了。随机值在哪里产生的?

[解决办法]
引用:
引用:random用法:random(x); //注释:x是个正整数
即可随机产生0~x之间的一切整数

C/C++ code?12345678910void zimu(){ char sr[100]; int i;/*产生20个随机数*/ char dz[20]={' '}; for(i=0;i<19;i++) { p……

ok,但是这样产生的随机数你就没办法去预测和控制了,出现任何东西都是有可能的。random()产生的随机数是可以控制的
[解决办法]
random 和srand是一起用的,你可以这样:

srand(time(NULL));
random();

读书人网 >C语言

热点推荐