C++中rand用错了吗?
来源:百度知道 编辑:UC知道 时间:2024/06/07 11:58:55
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
void main(){
int a,b;
a=20;
b=rand()%a;
printf("%d\n",b);
}
为什么结果都是1?
#include "conio.h"
#include "stdlib.h"
void main(){
int a,b;
a=20;
b=rand()%a;
printf("%d\n",b);
}
为什么结果都是1?
这是伪随机数的原因
#include <time.h>
void main(){
int a,b;
a=20;
srand((unsigned)time(NULL));
b=rand()%a;
printf("%d\n",b);
}
rand()产生的是0-1之间的数据
如果你想那样计算的话,可以写成
b=(rand()*20)%a;