问题遇到的现象和发生背景
在做一道算法题时遇到的
问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<math.h>
#define x 2<<30-1
int main(void)
{
static int N[x] = {0};
int n=5; //矩形个数
int x1, x2, h;
int i, j;
int k;
int max = 0;
for(i=0; i<n; i++)
{
scanf("%d %d %d", &x1, &x2, &h);
for(j=x1; j<=x2; j++)
{
if(h>N[j])
{
N[j] = h;
}
}
if(x2 > max)
{
max = x2;
}
for(k=0; k<=max; k++)
{
printf("%d : %d\n", k, N[k]);
}
}
}
运行结果及报错内容
2 10 5
0 : 0
1 : 0
2 : 5
3 : 5
4 : 5
5 : 5
6 : 5
7 : 5
8 : 5
9 : 5
10 : 6487024
5 15 10
0 : 0
1 : 0
2 : 5
3 : 5
4 : 5
5 : 10
6 : 10
7 : 10
8 : 10
9 : 10
10 : 6487024
11 : 10
12 : 10
13 : 10
14 : 10
15 : 10
我的解答思路和尝试过的方法
这段代码看似没问题,但运行时会出现赋值错误,报错里的第10项,本来应该为5或者10,但现在结果错误,找不到原因
我想要达到的结果
猜测可能是什么溢出造成的,求指点