我想用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 ×1