C 如何解决随机给出的错误数字

C 如何解决随机给出的错误数字,c,random,C,Random,我正在尝试为nesc的tinyos中的传感器生成随机值。我想有具体的限制,但我得到的并不完全是我想要的。 我想得到[nodeID,nodeID+20]之间的数字 我的代码是: value = nodeID + rand()%(20 + (1 + nodeID)); 有什么想法吗?要获得[nodeID,nodeID+20]范围内的值: 您总共可以获取21个值,因此从rand()%21开始,为您提供一个从0到20的值 现在将nodeID添加到这个节点:nodeID+(rand()%21)。这将为

我正在尝试为nesc的tinyos中的传感器生成随机值。我想有具体的限制,但我得到的并不完全是我想要的。 我想得到[nodeID,nodeID+20]之间的数字 我的代码是:

value = nodeID + rand()%(20 + (1 + nodeID)); 

有什么想法吗?

要获得[nodeID,nodeID+20]范围内的值:

您总共可以获取21个值,因此从
rand()%21
开始,为您提供一个从0到20的值


现在将nodeID添加到这个节点:
nodeID+(rand()%21)
。这将为您提供一个从nodeID到nodeID+20的值。

您得到了什么?我想是时候让你读一读了,尤其是那些被命名为和的章节。也请和。最后,如果我正确理解您的问题,请学习如何创建.value=nodeID+(rand()%20)value=nodeID+(rand()%21)nodeID未修复。我已经运行了大约10次了。我想要的是,例如,对于nodeID=2,获取介于[2,22]之间的数字,而不是获取[2,24]。