递归7

 
#include <stdio.h>
int f(int n)
{
	static int i = 1;
	if (n >= 5)
		return n;
	n = n + i;
	i++;
	return f(n);
}

int main()
{
	
	printf("%d", f(1));
 
	int dd = 0;
	scanf_s("%d", &dd);
	return 0;
}

  递归7

Explanation: Since i is static, first line of f() is executed only once.

Execution of f(1)
    i = 1
    n = 2
    i = 2
 Call f(2)
    i = 2
    n = 4
    i = 3
 Call f(4)
   i = 3
   n = 7
   i = 4
 Call f(7)
  since n >= 5 return n(7)
posted @ 2021-10-05 16:23  xmydis  阅读(32)  评论(0)    收藏  举报