| Сообщение от S.D.Maquis | 
	| хМ..для вас все начинающие глупые? | 
	
нет.
Только те, кто материал объемом в две пары(лекция и практика) не могут усвоить за три дня, и при этом задают такие вопросы, как задаете вы
	
	| Сообщение от S.D.Maquis | 
	| Почему 25 оказался именно в n ? | 
	
он там не оказывался, вы путаете
значениями n в ваших примерах были только 1,2,3
	
	| Сообщение от S.D.Maquis | 
	| Какой вобще переменной присваиваются значения при повторном вызове функции? | 
	
никакой переменной они не присваивались.
Они вычислялись(начиная с самой внутренней функции), и передавались через оператор return наверх, где использовались в дальнейших вычислениях.
	
	| Сообщение от S.D.Maquis | 
	| где хранится тот же 125 ведь я не писал так: x *= pow1(x, n-1)
 | 
	
да нигде не хранится
У вас вообще какая-то странная логика
	
	| Сообщение от Gvozd | 
	| pow1(5,3) = 5*pow1(5,2) = 5*5*pow1(5,1) = 5*5*5 = 125 | 
	
посмотрите внимательно на этот расписанный мною алгоритм
каждый шаг вычисления pow1(x, n) я привожу либо к x*pow1(x, n-1), либо x, в зависимости от того, выполняется ли условие (n != 1)
То есть pow1(5,3) равно 5*pow1(5,2), потому что (n != 1), и выполняется первая часть тернарного оператора.
Таким же аналогичным способом вычисляется pow1(5,2)/
Спускаемся ниже, и натыкаемся на то что (n != 1) перестало выполнятся.
Почему?
Да потому что аргументы функции pow1() - x и n не зависят от значнений внешних переменных, а зависят от того что вы передали во внутрь
То есть когда вы пишите
pow1(5, 3), то внутри нее х=5 b n=3
но внутри нее вызывается еще раз pow1, но уже с другими значениями - pow1(5,2)
То есть во внешней функции значения x=5 и n=3, потому что именно эти значения передали в нее, а во внетренней x=5 и n=2, потому что именно эти значения передала в нее внешняя функция.
Внешний n и внутренний n не равны, и зависят от передаваемых значений
А вот x - равны, но также зависят от передаваемых значений.
Равны они лишь потому, что при вызове следующей функции вы передали x как первый аргумент 
не изменив его
Так вот, спуская вниз, и обнаружив что (n != 1) уже не выполняется, мы берем правую часть тернарного оператора.
В нем  уже стоит просто число x
То есть pow1(5,1) = 5
тут рекурсия заканчивается, и мы возвращаемся обратно
Мы уже точно знаем, что
pow1(5,1) = 5
И при этом чуточку раннее мы узнали что
pow1(5,2) = 5*pow1(5,1)
Можем заменить pow1(5,1) на его вычисленное значение 5, и получим что 
pow1(5,2) = 5*5
возвращаемся обратно, и по аналогии вычисляем pow1(5,3) через pow1(5,2), заменив его значение на 25