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 啊这,是局部变量,我想起来了