散分,欢迎先到先得

happylamb 2003-07-23 08:30:39
设有直接递归函数print2的定义如下:
int print2(int n)
{ int k,c;
if(n==0)return(0);
k=print2(n/2); c=n%2; printf("%d",c);
return(k+c);
}
请指出语句
k=print2(39);
产生的输出以及函数调用完成后,变量k的值。
...全文
64 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Muzhu 2003-09-08
  • 打赏
  • 举报
回复
直接
Gelim 2003-09-08
  • 打赏
  • 举报
回复
接分~
hope1983 2003-09-08
  • 打赏
  • 举报
回复
接分
picker 2003-09-07
  • 打赏
  • 举报
回复
直接
cloudtarget 2003-09-07
  • 打赏
  • 举报
回复
up
接分
tigerfox 2003-07-23
  • 打赏
  • 举报
回复
^_^
zhucde 2003-07-23
  • 打赏
  • 举报
回复
没有时间再写程序接你的分了,
直接接一下吧!
njtu 2003-07-23
  • 打赏
  • 举报
回复
int print2(int n)
{
int k,c;
if(n==0)return(0);
k=print2(n/2);
c=n%2;
printf("%d",c);
return(k+c);
}

直到 n/2 == 0 时才会返回 (39/32 == 0)所以递归深度为5+1=6
仔细分析就可以了 输出:100111 k = 4;
ForFar 2003-07-23
  • 打赏
  • 举报
回复
gz
接分
mafangsan 2003-07-23
  • 打赏
  • 举报
回复
up
接分


qiuzhongshu 2003-07-23
  • 打赏
  • 举报
回复
真的是送分的
jennifergiant 2003-07-23
  • 打赏
  • 举报
回复
up
接分
devzhao 2003-07-23
  • 打赏
  • 举报
回复
100111
4
gaoyoujun 2003-07-23
  • 打赏
  • 举报
回复
我在vc环境下进行调试,答案是100111 ,k的值4。一定正确!
yh824 2003-07-23
  • 打赏
  • 举报
回复
接分
ydfok 2003-07-23
  • 打赏
  • 举报
回复
接分
cnpeople 2003-07-23
  • 打赏
  • 举报
回复
错了 100111 k的值4,我测试过了
AaronChan 2003-07-23
  • 打赏
  • 举报
回复
up
zswzwy 2003-07-23
  • 打赏
  • 举报
回复
我想最后的return 没用,所有死在这了。
cnpeople 2003-07-23
  • 打赏
  • 举报
回复
输出:100101 k的值18,不知道对不对
加载更多回复(1)

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧