我尝试使用min = 4和max = 10的rand()函数:
s = rand() % 10 + 4;
并且一些结果高于10.这怎么可能?
答案 0 :(得分:3)
您寻找的解决方案是rand() % 7 + 4
,它会为您提供范围[4,10]的结果。更一般的是,对于给定min
和max
从[min,max]获取随机值,您需要rand() % (max - min + 1) + min
答案 1 :(得分:0)
4 <= s <= 10
, 4, 5, 6, 7, 8, 9, 10
就是您所需要的。
这是因为rand() % 7
是7个数字。 bool palindrome(char a[],int length){
int start = *a;
if (*a != a[length-1])
return false;
if (*a == a[length-1]||start<length)
return true;
else
return palindrome(a+1,length-1);
return false;
}
为您提供0到6之间的数字。向其中添加4,您将获得所需的随机数。