一个简单而让我困惑的问题
程序代码:#include<iostream.h>
int jiec(int n)
{
int a;
if(n==1||n==0)
a=1;
else
a=jiec(n-1)*n;
cout<<a<<endl;
return a;
}
void main()
{
jiec(4);
}为什么输出的结果是1;
2;
6;
24;
呢?而不是24呢?如果把ruturn a 写到cout上面,结果就没有输出
程序代码:#include<iostream.h>
int jiec(int n)
{
int a;
if(n==1||n==0)
a=1;
else
a=jiec(n-1)*n;
cout<<a<<endl;
return a;
}
void main()
{
jiec(4);
}为什么输出的结果是
2010-10-27 09:17
程序代码:#include<iostream>
using namespace std;
int jiec(int n)
{
int a;
if(n==1||n==0)
return 1;
else
return a=jiec(n-1)*n;
}
void main()
{
int a=jiec(4);
cout<<a<<endl;
}


2010-10-27 12:45