srand( (unsigned)time( NULL ) );//生成随机数 for(i=0;i<100;i++) { a[i]=rand()%100; printf("%5d",a[i]); }
如果把这句“ srand( (unsigned)time( NULL ) );//生成随机数 ” 删掉也可以啊?
a[i]=rand()%100里的%100好像是限定了取值只可以在一百内,是不是啊???
srand( (unsigned)time( NULL ) );//生成随机数 for(i=0;i<100;i++) { a[i]=rand()%100; printf("%5d",a[i]); }
如果把这句“ srand( (unsigned)time( NULL ) );//生成随机数 ” 删掉也可以啊?
a[i]=rand()%100里的%100好像是限定了取值只可以在一百内,是不是啊???
kappa314, 既然你问了这个问题,你为什么自己不试一下呢。比如你将 srand( (unsigned)time( NULL ) ); 这句隐去,让程序运行,你看看会有什么结果,反复运行程序,再看看会有什么结果。你就明白这句语句的作用了。一个程序员需要自己能够理性的思考。
随机函数是利用了 rand() 函数, 而不是 srand() 函数。 srand( (unsigned)time( NULL ) ) 只是确保每次程序运行时,随机函数每次所用的种子不一样而以。
srand( (unsigned)time( NULL ) )
我想问这句是不是一定要用在rand()之前,但是为什么rand会自动取srand的种子?
srand( (unsigned)time( NULL ) )
我想问这句是不是一定要用在rand()之前,但是为什么rand会自动取srand的种子?
想知道
看了,没悟道……
_CRTIMP void __cdecl srand(unsigned int); _CRTIMP time_t __cdecl time(time_t *);
完全没懂,只有声明,没有定义……