Насколько я понимаю, это дает случайное число от 10 до смещения:
random = (rand() % 10) + offset;
смещение увеличивается на 1, но никогда не превышает 10, но когда я запускаю этот код, переменная random устанавливается на числа> 10.
рассматриваемый код:
#include "pch.h"
#include <cstdlib>
#include <Windows.h>
#include <iostream>
using namespace std;
void gen(int offset)
{
int random;
if (offset != 10)
{
random = (rand() % 10) + offset;
cout << "random should be between: " << 10 << " and " << offset << endl;
cout << "random: " << random << endl << endl;
Sleep(500);
gen(++offset);
}
}
int main()
{
srand(373);
gen(1);
cin.get();
}
и вывод:
random должен быть между: 10 и 1
random: 7
случайно должно быть между: 10 и 2
случайно: 11
случайно должно быть между: 10 и 3
случайно:3
случайно должно быть между: 10 и 4
случайно: 13
случайно должно быть между: 10 и 5
случайный: 10
случайный должен быть между: 10 и 6
случайный: 13
случайный должен быть между: 10 и 7
случайно: 16
случайно должно быть между: 10 и 8
случайно: 14
случайно должно быть между: 10 и 9
в случайном порядке: 18