关于递归中的变量初始化
在递归函数中,局部变量应该初始化
#include <iostream> using namespace std; int n; int work(int x){ int sum;//sum=0 !!!!!!!!!!!!!!在不同编译器中是不同结果,全是错的 if(x==0||x==1) return 1; for(int i=0;i<=x/2;i++){ sum+=work(i); } return sum; } int main(int argc, char** argv) { cin>>n; cout<<work(n)<<endl; return 0; }