Я пытался сгенерировать случайное число между (1 - 100) и кодом для запуска, но не делал то, что хотел. Я заметил, что случайно набрал & вместо % с функцией rand (), а компилятор NOT выдал ошибку. Что именно происходит? Почему не было сгенерировано ошибок? & возвращает адрес? Эту ошибку было сложно найти, потому что это простая опечатка, которую легко пропустить.
Вот опечатка:
unsigned int randomNumber = rand() & 100 + 1;
Но этовот что я хочу набрать:
unsigned int randomNumber = rand() % 100 + 1;
Вот код, использующий rand () с & на случай, если вы хотите запуститьэто:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
srand(static_cast<unsigned int>(time(nullptr)));
unsigned int randomNumber;
char again;
do
{
std::cout << "Do you want to generate a random number? (y/n) ";
std::cin >> again;
randomNumber = rand() & 100 + 1;
std::cout << randomNumber << '\n';
} while (again == 'y');
getchar();
return 0;
}