对于以下递归函数f,调用函数f(2, '1', '2', '3')的输出结果是

1. 对于以下递归函数f,调用函数f(2, '1', '2', '3')的输出结果是_13#12#32______.
void f(int n, char a, char b, char c)
{ if(n == 1)
printf("%c%c#", a, b) ;
else{
f(n-1, a, c, b);
printf("%c%c#", a, b);
f(n-1, c, b, a);
}
}
为什么答案不是13#12#32#?最后那个#怎么没有?

应该是答案错了:

    这个程序直接运行一下其结果为13#12#32#

    全部的输出语句都以#结尾,因此只要printf语句被执行不可能出现

    非#结尾的情况

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-05
printf(“%c#%c#%c#”,a,b,c);
最后你看你的输出函数 你只输出了a,b ; c没输出啊,不可能出现 32这个值,32这个值可能只是系统的垃圾数据

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网