标题:数组随机初始化的问题
只看楼主
夜雨风铃
Rank: 2
来 自:湖北省黄冈市
等 级:论坛游民
帖 子:10
专家分:15
注 册:2013-1-5
结帖率:100%
已结贴  问题点数:10 回复次数:3 
数组随机初始化的问题
#define SIZE 5
//初始化数组
void initialArray(int a[])
{
    srand(time(NULL));
    for(int i = 0; i<SIZE; i++)
        a[i] = (int)rand()%100+1;
}
//打印数组
void print(int a[])
{
      int i = 0;
     for(i; i<SIZE; i++)
     printf("%d\t",a[i]);
     printf("\n");     
}
int main()
{
        int a[SIZE],b[SIZE];
     initialArray(a);
     print(a);
     initialArray(b);
     print(b);
    return 0;
}
上面随机初始化数组,初始化两个数组为什么得到的数组的值是相同的?
如:
50    67    79    3    70   
50    67    79    3    70
求大神解释啊?
搜索更多相关主题的帖子: void return 
2013-04-22 15:16
小小的C
Rank: 2
等 级:论坛游民
帖 子:31
专家分:22
注 册:2013-4-19
得分:5 
用时间撒种,是不是时间也是一样的那,所以产生的伪随机数也是一样的?

新手发言,勿怪。
2013-04-22 15:31
dengluoy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:127
专家分:165
注 册:2013-2-5
得分:5 
我觉得应该是时间的问题,因为srand()函数时用秒为单位。
而计算机的运行这个程序的速度是在一秒之内完成、
你可以在嵌套多个循环使运行时间大于一秒,你试试。
菜鸟回答仅是自己的想法

一同学习, 一同进步
2013-04-22 16:21
小小的C
Rank: 2
等 级:论坛游民
帖 子:31
专家分:22
注 册:2013-4-19
得分:0 
回复 3楼 dengluoy
恩恩,楼上正解我在俩次调用函数之间加了一个100000次循环的都是一样的当我加到1000000000时结果不一样了,看来我还是低估了计算机的速度啊。

新手发言,勿怪。
2013-04-22 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-405138-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091781 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved