1 + (int)(10.0*rand() / (RAND_MAX + 1.0))
最终:1,2,3...10
参考
rand() | 范围是[0, RAND_MAX] |
10.0*rand() | 得到一个浮点数,是10倍的[0, RAND_MAX],[0.0, 10.0*RAND_MAX], |
/RAND_MAX | [0.0 , 10.0] |
/(RAND_MAX + 1.0) | [0.0 , 10.0) |
(int)(10.0*rand() / (RAND_MAX + 1.0)) | 0,1,2...9 |