全部问题 > 当前问题

输出3后为啥还要要输出7?

带我走@ 2016-8-4 21:37:09

共 3 个回答

嘿嘿大人 2016-8-4 21:37:44

具体代码

带我走@ 2016-8-4 21:40:40

回复 嘿嘿大人#include <stdio.h>
void fun(int x)
{ if(x/2>1) fun(x/2);
  printf("%d ",x);
}
main()
{ fun(7); printf("\n"); }
程序运行后的输出结果是 ______ 。

最佳答案

嘿嘿大人 2016-8-4 21:55:45

回复 带我走@:函数被调用了之后要返回到调用处接着往下执行啊,调用了fun(3),然后再fun(3)中调用了fun(1),然后fun(1)输出了1,然后返回到fun(3)中调用fun(1)的位置接着往下执行就输出了3撒,同理输出7

问题来自: 递归函数