Объясните , что делает srand() ? - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <stdlib.h> main () { int a , b, seed; //unsigned seed; for( ; ; ) { a = (1 + rand() % 9); b = (1 + rand() % 9); printf("How much is %d times %d ? \n", a, b); scanf("%d", &seed); //srand(seed); if (seed == a * b) printf("ok\n\n "); else printf("bad, try again\n\n"); } }
Решение задачи: «Объясните , что делает srand() ?»
textual
Листинг программы
void __cdecl srand ( unsigned int seed ) { _getptd()->_holdrand = (unsigned long)seed; } int __cdecl rand ( void ) { _ptiddata ptd = _getptd(); return( ((ptd->_holdrand = ptd->_holdrand * 214013L + 2531011L) >> 16) & 0x7fff ); }
Объяснение кода листинга программы
- srand() — это функция, которая инициализирует генератор случайных чисел в языке программирования C.
- srand() принимает один аргумент — seed, который является начальным значением для генератора случайных чисел.
- srand() сохраняет seed в поле _holdrand внутри структуры _ptiddata, связанной с текущим потоком.
- rand() — это функция, которая генерирует случайное целое число.
- rand() возвращает случайное целое число в диапазоне от 0 до 32767 (0x7fff).
- rand() использует поля _holdrand и _ptiddata для генерации случайного числа.
- rand() вычисляет новое значение _holdrand, умножая текущее значение _holdrand на 214013 и добавляя 2531011, а затем сдвигает результат вправо на 16 бит.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
- rand() возвращает новое случайное число, ограничивая его до 16-битного значения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д