#include<stdio.h> int main() { int k; int age(int x,int num); k=age(10,5); printf("%d\n",k); return 0; } int age(int x,int num) { int y; y=x+2; num--; while(num>1) return age(y,num);//这里我想在num大于1的时候,还把y的值传递给x,num值传递个num,问题是出现在这里吗? }
//共有5位同学,第一个同学的年龄是10,并且后边的同学依次比前面的同学大两岁,求第五个同学年龄,使用递归调用函数 //运行无结果 #include<stdio.h> int age(int x,int num); int main() { int k; k=age(10,5); printf("%d\n",k); return 0; } int age(int x,int num) { x=x+2; num--; while(num>1) return age(x,num);//不返回的话,永远是死循环!!!!!!!!!!!!!!!!!!! }
#include <stdio.h> int age(int num); int main() { int num = 5; printf("%d\n", age(num)); return 0; } int age(int num) { if (num == 1) { return 10; } else { return 2+age(--num); } }