OriginalGriff
Факториал-это операция, в которой вы умножаете все значения до предела и в математике выражается восклицательным знаком: 3!, или 6!, или n!
1! == 1
2! == 1 * 2 == 2
3! == 1 * 2 * 3 == 6
4! == 1 * 2 * 3 * 4 == 24
5! == 1 * 2 * 3 * 4 * 5 == 120
6! == 1 * 2 * 3 * 4 * 5 * 6 == 720
...
То, что у вас есть в вашем коде, - это функция, которой передается число (в переменной, называемой
x
) и который возвращает Факториал этого числа, используя простой цикл для умножения. (Ну, вы бы так и сделали, если бы это компилировалось -
for
циклы используют точки с запятой, а не запятые - и если бы это работало правильно, если бы это было так, то этого не будет: алгоритм реализован неправильно)
Поэтому, когда вы исправите
factorial
функция, которую вы можете вызвать, используя ее имя в вашем коде:
b = factorial(a);
и это приводит к тому, что ваш код "ветвится" на факториальную функцию, копируя значение в
a
в
x
когда он попадает туда, то "возвращается" к исходному коду и помещает значение, которое факториал вернул (через
return
оператор) в переменную
b
Это похоже на список битов текста, которые вы часто публикуете, чтобы не печатать их каждый раз: вы храните их в блокноте, а когда вы хотите опубликовать один из них, вы копируете его из блокнота и вставляете в свой браузер. Каждый текстовый фрагмент - это функция, и copy'n'paste "вызывает" его в ваш пост. Есть смысл?