递归调用一般在有大量数据时不采用,每一次递归就是寻找与自己功能相同的函数而已,就像李家里有快烂掉的苹果8个,他自己吃不了找一个人帮他吃,那个人留了一个苹果,然后把其他苹果给了别人,那个人也留下了一个苹果,然后这个人继续找人,当最后一个留下苹果后,继续找人,找到的那个人反馈给他“你妹”,那么他自己就把苹果吃了,吃完告诉上一个,知道的人也把自己留下的苹果吃了,知道那人反馈给李家,我帮你把所有苹果吃了,这样就有8个人帮李家吃完李家的苹果,返回数字12345678;
程序为:
void printInt(int n)
{
if (n > 0) {
return;
}
//吃苹果
printInt(n / 10);
//找人
printf("%d ", n % 10);
}
int main (int argc, const char * argv[])
{
printInt(12345678);
}
//输出1 2 3 4 5 6 7 8
递归只是找到与自己功能相同的函数,不是循环的过程,void函数没有返回值,在main中,直接输出就可以了。。苹果吃完了,函数也就调用完了。。