根据递归逻辑,printf()
最后必须只遇到一次。 main()
之后if()
应该将控件发送回开头。仅在var
之后如果我们达到 printf()
则为零。为什么我们会遇到printf()
五次?我知道以前已经有人问过这个问题,但其中没有解释这个逻辑。
void main()
{
static int var=5;
if(--var){
main();
}
printf("%d\n", var);
}
最佳答案
printf
语句不在 if
内。对 main
的每次(递归)调用最终都会在终止之前调用 printf
。
关于c - 为什么下面的程序中打印语句出现了五次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29715916/