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这个值可能只是系统的垃圾数据
最后你看你的输出函数 你只输出了a,b ; c没输出啊,不可能出现 32这个值,32这个值可能只是系统的垃圾数据