C语言:求解第20题,过程详细一点,谢谢
展开全部
第(20)题,问的是第三行输出什么。
先看一下程序运行过程:
第一次调用f2函数,参数是x和1,因为if(n=1>1不成立),直接输出x,是为第一行;
第二次调用f2函数,参数是d和2,因为if(n=2>1成立),j就用c和1做参数,调用f2自己,这叫“递归调用”。需要注意的是虽然用cc-1和n-1做调用参数,但cc和n本身的值并没有变化(cc=‘d’,n=2)。
第三次调用f2函数,参数是c和1,直接输出c,是为第二行;
程序执行完第三次调用后,返回到调用语句,下面还有一句输出语句,输出cc=‘’d’,是为第三行。
有什么疑问请留言。
先看一下程序运行过程:
第一次调用f2函数,参数是x和1,因为if(n=1>1不成立),直接输出x,是为第一行;
第二次调用f2函数,参数是d和2,因为if(n=2>1成立),j就用c和1做参数,调用f2自己,这叫“递归调用”。需要注意的是虽然用cc-1和n-1做调用参数,但cc和n本身的值并没有变化(cc=‘d’,n=2)。
第三次调用f2函数,参数是c和1,直接输出c,是为第二行;
程序执行完第三次调用后,返回到调用语句,下面还有一句输出语句,输出cc=‘’d’,是为第三行。
有什么疑问请留言。
追问
明白了,多谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询