#include<stdio.h>
#include<stdlib.h>
//假设只能打印一位数,即0~9
void printDigit(int n){
printf("%d", n);
}
//使用递归,利用上面的printDigit打印任一数
void printOut(int data){
if( data >= 10 )
printOut(data / 10);
printDigit(data % 10);
}
int main(){
printOut(123);
return 0;
}
使用下图来理解程序中递归的调用过程
第二个程序
#include<stdio.h>
#include<stdlib.h>
/*
* 使用递归将用户输入的字符串逆序输出
* */
void print(){
char a;
scanf("%c", &a);
if( a != '#' )
print();
if( a != '#' )
printf("%c", a);
}
int main(){
printf("enter a string end of '#' :");
print();
return 0;
}