C语言中 a=rand() % 100和a=1+(rand()%100)有什么区别?

为什么我们老师说都是产生100以内的随机数?

前者产生0~99的“随机”整数,后者产生1~100的“随机”整数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-25
后面的多了个1+ 就是不会是0

~~~~~~~追问

为什么rand()%999+100就是100--1098之间的任意数了,而and()%900+100就是是100-999之间的任意整数,怎么看不懂?

第2个回答  2018-07-08
rand()%999 对999取余,结果是【0-998】范围。
所以rand()%999+100的结果是【100-1098】的范围。
以下同理可证。
第3个回答  2018-03-12
很简单。下标为零。999+100=1099,而起始数要少1,也就是从100开始(本应该99开始,但前面强制定义了1000开始),到1098
相似回答