小编chr*_*llr的帖子

帮我创建这个随机数

我想用rand生成一个随机数,如下所示:

return a + ( rand( ) % n );
Run Code Online (Sandbox Code Playgroud)

其中a是移位值(即,期望的连续整数范围中的第一个数),并且n是缩放因子(即,期望的连续整数范围的宽度).

- C如何编程第6版 - Deitel

我把它写成:

return 1 + ( rand( ) % 1000 );
Run Code Online (Sandbox Code Playgroud)

它的工作原理,但是当我编写代码如下:

return 1000 + ( rand( ) % 1112 );
Run Code Online (Sandbox Code Playgroud)

我最终得到了荒谬的大数字,例如1756年和1877年.那是最后两次输出.

我将值作为整数返回到printf语句中的函数调用,但我对工作语句做了同样的事情,所以我不认为这是我调用函数的方式.

我究竟做错了什么...?

c

-2
推荐指数
1
解决办法
141
查看次数

标签 统计

c ×1