来个大佬给我讲一下
能看清图吧。我这只有3个printf怎么会输出4给数呢/看不懂了。 还有我记得函数调用它下面的函数需要声明的吧,为什么我试着把函数a和b调换位置也能出结果。 感谢
能看清图吧。我这只有3个printf怎么会输出4给数呢/看不懂了。 还有我记得函数调用它下面的函数需要声明的吧,为什么我试着把函数a和b调换位置也能出结果。 感谢
2019-03-02
真秀
首先输入数的是5
应该输出a(5)
由于不知道a()函数,所以先跳到a()函数
继续5,应该输出b(5)
由于不知道b()函数,先跳到b()函数
继续还是5
先输出5+13,也就是18
..............................
然后返回5+2,也就是7
b()函数返回的7是a()函数应该输出的
也就是输出7
...........................
由于之前传递给b()函数的c=5,而数字5是在b()函数中改变的
所以对于a()函数来说并没什么卵用
在a()函数里c的值没有改变
所以a()函数里,c还是5
接着返回b(5)
又回到b()函数了,带来的还是5,
于是先输出5+13,也就是18
.................................
然后返回5+2,也就是7
然后这个数是由a()函数中的return b(c)提供的
已经没有后续步骤了,所以7作为最后一个数返回a(e)
也就是最后a(e)=7,然后输出7+1,也就是8
..............................
所以总的输出了4次
举报