C++蓝桥杯全局变量初始化问题


#include  

using namespace std;

typedef long long LL;

const int N=100010;

int n;
int s[N];

int main()
{
    scanf("%d",&n);
    int x;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x);
        s[i]=s[i-1]+x;
    }
    if(s[n] % 3) puts("0");
    else
    {
        LL res=0,cnt=0;
        for (int j=2; jif(s[j-1]==s[n]/3) cnt++;
            if(s[j]==s[n]/3*2) res+=cnt;
        }
        printf("%lld\n",res);
    }
    return 0;
}

为啥不需要初始化x【0】=0;

因为你x是输入,无论你原先的值为什么,他最后都会被输入的值覆盖掉,也就不会产生影响