я следующая функция, которая генерирует случайное число в диапазоне от -10 до 2:Случайный диапазон номеров, исключить 0
#include <stdlib.h>
#include <time.h>
static int
getRandomReturnCode(void)
{
int N = 2,
M = -10;
srand(time(NULL));
r = M + rand()/(RAND_MAX/(N - M + 1) + 1);
if (r == 0){
getRandomReturnCode();
}
return r;
}
В настоящее время, если код возврата 0 (успех) возвращается, он будет рекурсивно называть функция до тех пор, пока не будет получен и возвращен ненулевой код возврата. Что я могу сделать для улучшения моего кода, так что 0 исключается из диапазона случайно выбранных чисел?
Создайте число от -10 до 1, и если значение равно 0 или 1, добавьте его к нему. – clcto
Не вызывайте 'srand' более одного раза. Поместите его в 'main'. –
Создать число от 1 до 13? -13 и -1? – moffeltje