zhangchaoy 发表于 2011-10-19 16:58:30

关于loadrunner中rand()函数的使用

有两个问题请教大家:
1. srand(time(NULL));
我不明白这个函数和随机取值有什么关系。又和当前时间有啥关系。最好能介绍一下工作原理。

2.请教大家rand()的取值范围:
例如: i=rand()%6+15, 取值范围包括15和21吗?还是只有16,17,18,19,20.

谢谢

云层 发表于 2011-10-19 17:01:33

1初始化随机
2.15-21

linlinxu 发表于 2011-10-20 10:26:55

回复 1# zhangchaoy
rand()函数是生成一个随机的非负整数函数。
Example 1
The following example generates a random number restricted to a specific zero-based range using the mod (%) operator.

    //srand is called before rand

    srand(time(NULL));

    /* Generate a random number from 0-99 */

    lr_output_message

      ("A number between 0 and 99: %d\n", rand() % 100);

Output:
Action.c(7): A number between 0 and 99: 72

Example 2
The following example generates a random number, rNum, between 20 and 29 using the mod (%) operator and addition.

int rNum;

    //srand is called before rand

    srand(time(NULL));

/* The order of evaluation is first rand(), then the modulus,

    then the addition. The command below is equivalent to :

    rNum = rand() % 10;

      rNum is now a number between 0-9

    rNum += 20;

      rNum is now between 20 and 29

*/

    rNum= rand() % 10 + 20;

你的i=rand()%6+15返回的是15-21

zhangchaoy 发表于 2011-10-20 15:51:04

谢谢两位了。

ljj149850508 发表于 2011-10-20 16:13:29

15-20

xiang_xianjiao 发表于 2011-10-20 16:43:57

:handshake

siqingqing 发表于 2012-2-15 11:42:45

:)有用,赞!

msnshow 发表于 2012-2-15 13:45:24

:victory:

msnshow 发表于 2012-2-15 13:45:27

:victory:

cu_zhuang 发表于 2012-3-3 15:26:44

没看懂 - -

cu_zhuang 发表于 2012-3-3 17:12:47

15-20,云层叔叔误导人啊

云层 发表于 2012-3-4 00:00:21

确实是15-20

alice2003yf 发表于 2012-3-4 14:49:44

15-20,云层叔叔误导人啊
cu_zhuang 发表于 3/3/2012 17:12 http://bbs.51testing.com/images/common/back.gif


    :D 云层老师开小差了肯定,没这么算术 的、:D、、

云层 发表于 2012-3-4 23:24:50

错,是我当做用rand()*数字了,这里用的是%取余

alice2003yf 发表于 2012-3-5 20:08:32

不明白,rand()*数字取的是整数还是四舍五入整数?

mumu.ai 发表于 2012-3-8 14:15:38

15-20

srand是随机种子生成,
接下来在使用rand,
相同2次随机数概率降低。

luihengk 发表于 2012-3-8 23:25:06

srand是始随机种子的,srand(time(NULL))进行初始化,
根据公式:rand()%(max—min+1)+min,算一下就知道是15~20啦,呵呵

TesterChen 发表于 2012-3-9 09:53:33

回复 3# linlinxu


    你开小差了……
       /* Generate a random number from 0-99 */

    lr_output_message

      ("A number between 0 and 99: %d\n", rand() % 100);

xiaoyaoac 发表于 2012-4-24 13:29:55

15——20

张宅宅 发表于 2012-7-24 09:00:43

学习啦
页: [1] 2
查看完整版本: 关于loadrunner中rand()函数的使用