c语言关于return

[复制链接]
查看11 | 回复1 | 2010-6-27 22:11:12 | 显示全部楼层 |阅读模式
#include
int fun(int x)
{
int p;
if (x==0 || x==1) return 3;
p= fun(x-2)+1;
return p;
}
void main()
{
printf("%d\n",fun(7));
}
为什么等于6

回复

使用道具 举报

千问 | 2010-6-27 22:11:12 | 显示全部楼层
代入7后fun()函数递归三次,每次递归后会加一,所以最后为6
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行