递归定义通过不断调用自身从而用简短的代码达到目的。也可以用一个故事来表明:老和尚对小和尚讲一个故事从前山上有一座寺庙,庙里有一个老和尚,老和尚对小和尚讲一个故事从前山上有一座寺庙,庙里有一个老和尚,老和尚对小和尚讲一个故事........
描述
输入一个整数n,n>0,现在要你输出n的每一位;
如输入:123;输出应为:1 2 3;
输入描述
每次输入一个数n,n>0。
输出描述
顺序输出n的每一位数字。两个数字之间用空格间隔。
#include<stdio.h>
int f(int x){
if(x==0){
return 0;
}
else{
f(x/10);
}
printf("%d ", x%10);
}
int main(){
int n;
scanf("%d",&n);
f(n);
return 0;
}
若输入n=123此代码中关于f(x/10)
printf("%d ",x%10);
的递归如下图
就像千层蛋糕一样层层包裹从里到外输出1 2 3