c - 当我插入较大的数字时程序崩溃
问题描述
我在网上解决一个问题。我已经编写了代码并且它大部分时间都可以工作,除非我输入的数字比平时大(1000 到 2000)。当我这样做时,程序崩溃并返回一个非常小的负数。这可能是什么原因?
这是问题的链接。
#include <stdio.h>
#include <stdlib.h>
int main() {
int z, T;
scanf("%d", &T);
for (z = 0; z < T; z++) {
int i, j, N, P;
scanf("%d%d", &N, &P);
int days[3651] = { 0 };
int hartal[10];
int count = 0;
for (i = 0; i < P; i++) {
scanf("%d", &hartal[i]);
}
for (i = 1; i < N + 1; i++) {
days[6] = 2;
days[6 + (i * 7)] = 2;
days[7] = 2;
days[7 + (i * 7)] = 2;
}
for (i = 0; i < P; i++) {
int a = hartal[i];
for (j = 0; j < N + 1; j++) {
if (j % a == 0 && days[j] != 2) {
days[j] = 1;
}
}
}
for (i = 1; i < N + 1; i++) {
if (days[i] == 1) {
count++;
}
}
printf("%\n%d\n", count);
}
return 0;
}
解决方案
days[6+(i*7)] = 2;
当i > 520时,该行代码可能超出范围(也就是您将尝试访问数组天数范围之外的索引。)。
推荐阅读
- java - Repast Simphony:关闭批处理运行中的数据收集
- flutter - 安装 msix 后,Flutter Windows 桌面应用程序卡在白屏上
- c - 如何在 C 中对十六进制数字(如 10 1 AB)进行排序?
- intellij-idea - 场景生成器中的奇怪角色
- python - 如何找出存储 1 到 2^100 之间的每个数字需要多少存储空间?
- python-3.x - 为什么我从 python3 中的请求中得到空的 RequestCookieJar?
- docker - Docker 守护程序未运行或来自 docker 守护程序的错误响应
- git - PhpStorm 添加冲突文件
- android - 联系人服务:等待 ContactsService.getContacts() 太慢了
- python - (TwitchIO for Python)导入命令时出现无效语法错误