c语言用linux的ubuntu编程的时候b=rand()%3是把1到3的随机数赋给b的意思吗

c语言用linux的ubuntu编程的时候b=rand()%3是把1到3的随机数赋给b的意思吗,第1张

x%3求余,只可能是0,1,2,因此,这里的随机数是0,1,2三个,赋值给b。

不建议直接使用rand()%N这种随机数生成使用,特别是当N比较大时候。

一般RAND_MAX = 32767,这样算下来,不太准确的随机数。

更好的方法如下:

double r = rand()/(double(RAND_MAX) +double(1)) //  [0,1)

b = r*3 + 1 // [1,3]

机械工业出版社有一本linux C的,好像是函数

你可以看看,写的我觉得那就非常的好

VC

int rand( void )

The rand function returns a pseudorandom integer in the range 0 to RAND_MAX.

至于 RAND_MAX 在 stdlib.h 中有定义,为 32767

可能是库不同???难道linux下的C···不一样?

具体我也不知道不好意思

linuxC我没弄过···

rand()是表示产生随机数的一种函数,多应用于循环语句当中进行判断。

比如说n=rand();

switch(n)

{case1.......

case2......}

这些都是都可能被执行的,因为数字是随机的。

扩展资料:

注意

rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种了,为基准以某个递推公式推算出来的一系数,

当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a) ,

功能是初始化随机产生器既rand()函数的初始值,即使把种子的值改成a从这你可以看到通过sand()函数,可以产生可以预见的随机序列。

参考资料来源:rand函数-百度百科


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/8801375.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存