关于网友提出的“ 请教一个递归函数的问题”问题疑问,本网通过在网上对“ 请教一个递归函数的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请教一个递归函数的问题
描述:
#include
int foo(void)
{
static int i;
++i;
if (i == 5)
return i;
foo();
}
int main()
{
printf("recursion = %d\n",foo());
return 0;
}
原意是想记录递归函数的调用次数,请问这样的代码有问题吗?
GCC编译出来运行,结果不正确,但VC却可以?
解决方案1: foo函数含有没有return的分支,程序有问题,vc结果正确是因为编译器做了优化
以上介绍了“ 请教一个递归函数的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2827887.html