该函数的问题在于:
每次调用a()
变量i会初始化0(int i = 0),
然后在加1(i++),这样i就等于1了,
由于不满足i==2的条件,就会继续执行a(),
然后重复上面的过程,造成栈空间溢出 。
解决方案是将变量i声明为静态的变量,即 static int i = 0;这样就不会出现无穷的递归了。
或者把i定义在main函数中,用参数的形式传递给a()
该函数的问题在于:
每次调用a()
变量i会初始化0(int i = 0),
然后在加1(i++),这样i就等于1了,
由于不满足i==2的条件,就会继续执行a(),
然后重复上面的过程,造成栈空间溢出 。
解决方案是将变量i声明为静态的变量,即 static int i = 0;这样就不会出现无穷的递归了。
或者把i定义在main函数中,用参数的形式传递给a()