RovinJiang 发表于 2015-1-31 09:35:07

c猴子吃桃问题,不用return的方式

1 #include <stdio.h>2 void taoziDay(int d);3 4 int main(void)5 {6   int day;7 //int taozi;8   scanf("%d",&day);9 //taozi = taoziDay(day); 10 //printf("%d",taozi); 11   return 0; 12 }    13 14 void taoziDay(int d) 15 { 16   int taozi; 17    18   if(d == 10) 19   {    20         taozi =1; 21   } 22   else 23   {    24         taozi=(taoziDay(d+1)+1)*2; 25   } 26 27   printf("%d",taozi); 28 }
哪里出错了?

fjxzsjff 发表于 2015-1-31 13:34:35

1 #include <stdio.h>
2 void taoziDay(int d);
3
4 int main(void)
5 {
6   int day;
7 //int taozi;
8   scanf("%d",&day);
9 //taozi = taoziDay(day);
10 //printf("%d",taozi);
11   return 0;
12 }   
13
14 void taoziDay(int d)
15 {
16   int taozi;
17   
18   if(d == 10)
19   {   
20         taozi =1;
21   }
22   else
23   {   
24         taozi=(taoziDay(d+1)+1)*2;
25   }
26
27   printf("%d",taozi);
28 }
你的void taoziDay(int d)的定义出现了思路上的错误!!!
知道你想用递归这样的方式求解,但你这不是!!
还有,你这函数没有返回值的,你调用后得不到结果!
14 int taoziDay(int d)
15 {
16   int taozi;
17   
18   if(1==d)//这样写可以防止d=1这样的误写错误
19   {   
20         taozi =1;
21   }
22   else
23   {   
24         taozi=(taoziDay(d-1)+1)*2;
25   }
26
27   printf("%d",taozi);
28 }
页: [1]
查看完整版本: c猴子吃桃问题,不用return的方式