一个简单而让我困惑的问题
程序代码:
#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); }为什么输出的结果是
#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; }