小白全wa,自己测试没问题,求大佬

P1047 [NOIP2005 普及组] 校门外的树

ly774201496 @ 2022-09-20 15:45:03

#include<stdio.h>
int main()
{
    int l,m;
    int i,n,sum;    
    scanf("%d %d",&l,&m);
    int u[10001],v[10001];
    int a[10001];

    for(int o=0;o<=l;o++)
    a[o]=1;

    for(int o=0;o<m;o++)
    scanf("%d %d",&u[o],&v[o]);

    for(int o=0;o<m;o++)
    {
        for(i=u[o];i<=v[o];i++)
        {
            a[i]=0;
            n++;
        }
    }

    for(int o=0;o<=l;o++)
    {
        if(a[o]==1)
        sum++;
    }
    printf("%d",sum);
    return 0;
}

by 编码落寞 @ 2022-09-20 16:06:13

@ly774201496 把sum初始化为0


by ly774201496 @ 2022-09-20 16:09:49

@编码落寞 感谢大佬,但是不太懂为什么


by 编码落寞 @ 2022-09-20 16:12:00

@ly774201496

定义在函数内的局部变量如果不赋初值,则系统会随机赋值,最好百度下吧,我怕我说的不对


by ly774201496 @ 2022-09-20 16:15:06

@编码落寞 我这个sum不是全局变量吗,而且自己测试也没问题,是否会是编译器问题


by Lovable_Wind @ 2022-09-20 16:21:31

@ly774201496 这是局部变量啊...z


by Jackeylove830 @ 2022-09-20 16:22:52

@ly774201496 赋值在第二行的好像才是吧(我也觉得我说错了)


by Jackeylove830 @ 2022-09-20 16:23:30

@ly774201496 这是局部变量吧


by ly774201496 @ 2022-09-20 16:24:17

@Lovable_Wind 啊这,是局部变量,我想起来了


|