在大学的课堂上,我的老师并没有真正解释这段代码的输出方式。当我搜索网站时,我没有遇到过这种情况,我想与你分享。我还有一个问题,这个函数是否也像递归函数一样工作?
#include <stdio.h>
void F(int *a, int b)
{
(*a)--;b+=2;
if(*a+b<10)
{
printf("\n%d %d",*a,b);
return;
}
(*a)--;b--;
printf("\n%d %d",*a,b);
F(&b,*a);
(*a)++;b++;
printf("\n%d %d",*a,b);
return;
}
main()
{
int b=5;
F(&b,b);
printf("\n%d",b);
return 0;
}
答案 0 :(得分:0)
关于你的问题:
void F(int *a, int b)
在函数体中调用自身==&gt;所以这是递归。return
- Terminates current function and returns specified value to the caller function.函数F
返回void
,这意味着什么,只是终止并返回给调用者。因为在这个特定的例子中,return
语句出现在函数结束之前,它实际上没有任何意义。没有return
(在这种情况下),功能保持不变。