我正在尝试使用 rand 生成一个随机数,如下所示:
return a + ( rand( ) % n );
其中 a 是移位值(即,所需连续整数范围内的第一个数字),n 是缩放因子(即,所需连续整数范围的宽度)。
-- C 如何编程第 6 版 - Deitel
我把它写成:
return 1 + ( rand( ) % 1000 );
它可以工作,但是当我编写如下代码时:
return 1000 + ( rand( ) % 1112 );
我最终得到了大得离谱的数字,例如 1756 和 1877。这是最后出现的两个输出。
我将值作为整数返回给 printf 语句中的函数调用,但我对工作语句做同样的事情,所以我不认为它是我调用函数的方式。
我究竟做错了什么...?