当前位置: 代码迷 >> C语言 >> [求助]为什么A=rand();A总是等于346呢?
  详细解决方案

[求助]为什么A=rand();A总是等于346呢?

热度:467   发布时间:2006-07-13 21:26:03.0
[求助]为什么A=rand();A总是等于346呢?
[求助]为什么A=rand();A总是等于346呢?
搜索更多相关的解决方案: rand  

----------------解决方案--------------------------------------------------------

rand()要设范围才可以生效 例如 rand(10000)%100


----------------解决方案--------------------------------------------------------

不只是这个原因.
应该要和时间函数配合一起使用.
srand(time(NULL));//包含在#include <time.h>中
你再试试啊


----------------解决方案--------------------------------------------------------
我试了 为什么 总是在 -21700  -----  -21758之间呢?

[此贴子已经被作者于2006-7-14 10:37:48编辑过]



----------------解决方案--------------------------------------------------------

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{
int a;
srand((unsigned)time(NULL));
a=rand();
printf("%d\n",a);

}
再试试呀,这个就会每次不一样呀 ,rand()函数在0-32767之间


----------------解决方案--------------------------------------------------------
rand()函数是一个伪随即函数,导致每次的结果都一样,
因而必须配合srand()函数使用才能得到一个随即的结果;
----------------解决方案--------------------------------------------------------