求助分析变量的赋值问题
  • 板块学术版
  • 楼主Konjac0629
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/8/25 11:30
  • 上次更新2023/11/3 01:20:50
查看原帖
求助分析变量的赋值问题
553640
Konjac0629楼主2023/8/25 11:30

RT,下面是P1036的一种错误做法

#include <bits/stdc++.h>

using namespace std;

int genSeq(int n){
    int result;
    if(n==1)
        result=1;
    else{
        int no_more_than_half=n/2;
        for(int i=1;i<=no_more_than_half;i++){
            result+=genSeq(i);
        }
    }
    return result;
}

int main(){
    int n;
    cin >> n;
    cout << genSeq(n) << endl;
    return 0;
}

但我发现居然能过样例,输入6,输出也是6

但是我自己按照这个流程手推了一便,计算出输出值应该是3

调试了一下,genSec(6)在i=3时(此时result=3)执行genSec(3),可是genSec(3)中的result不是0,是2,因此导致了输出6的结果

这是为什么呢?大佬们帮忙看看

2023/8/25 11:30
加载中...