ALTE DOCUMENTE
|
||||||
В языке «C» функции могут и& 21121h722v #1089;пользоваться рекурсивно; это означает, что функция может прямо или косвенно обращаться к себе самой. Традиционным примером является печать числа в виде строки символов. Как мы уже ранее отмечали, цифры генерируются не в том порядке: цифры младших разрядов появляются раньше цифр из старших разрядов, но печататься они должны в обратном порядке. Эту проблему можно решить двумя способами.
itoa printd
void printd(int n) // Печать n в десятичном виде
i
do
while n /= 10) > 0); // Отбраковать его
while i >= 0)
putchar s i
}
printd
void printd(int n) // Печать n в десятичном виде
if ((i = n/10) != 0)
printd(i);
putchar(n
}
printd (123) printd n = 123 printd printd
printd написания itoa
reverse(s) s
|