以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 编程心得 』   (http://bbs.xml.org.cn/list.asp?boardid=42)
----  [求助] C编程问题.  (http://bbs.xml.org.cn/dispbbs.asp?boardid=42&rootid=&id=40231)


--  作者:剑中剑
--  发布时间:11/20/2006 12:23:00 PM

--  [求助] C编程问题.
谁能给讲一下:
  j=1+(int)(10.0*rand()/RAND_MAX+1.0));
我只知道rand是取随机数的一个函数,但是整个语句我不明白.也不知道如何用此函数.
--  作者:reallyh
--  发布时间:11/23/2006 4:56:00 PM

--  
这条语句少了一个左括号,可能是j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
rand()函数返回一个0到RAND_MAX随机数值,整条语句表示给j赋一个1到10(包含)之间的随机数值

--  作者:wwi875
--  发布时间:12/19/2006 8:29:00 PM

--  
个人认为:
j=1+(int)(10.0*rand()/RAND_MAX+1.0));

10.0*rand()/RAND_MAX 表示取 0 到 RAND_MAX-1的随机数,感觉少了个括号,应为10.0*(rand()/RAND_MAX),否则10*这里没有意义,呵呵
j 就是取 2 到 RAND_MAX+1 的随机数



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.006ms