鱼C论坛

 找回密码
 立即注册
查看: 1389|回复: 1

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

[复制链接]
发表于 2015-1-31 09:35:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  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 }

  哪里出错了?


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 15:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表