连接: 为啥我c语言 程序 本地可以 传到oj 就出现了运行错误-优快云社区
我的回复:
#include <stdio.h>
int main() {
long n, k;
scanf("%ld%ld", &n, &k);
// long a[1100]; // 原式:没有必需啊,重量怎么可能是长整数呢?
int a[1100];
// long long sum; // 原式:没有必需啊,重量怎么可能是长整数呢?
int sum;
for (int i = 1; i <= n; i++) {
// scanf("%ld", &a[i]); // 原式
scanf("%d", &a[i]);
}
for (int i = 1; i <= k; i++) {
int l, r;
l = 0;
r = 0;
scanf("%d%d", &l, &r);
sum = 0;
// while (l <= r) { // 直接用for循环不是更好吗
// while (a[l] == 0) { // 原式:不明白想表达什么意思?
// l = l + 1;
// if (l > r)
// break;
// }
// if (l > r) // 这个退出条件也是多余的
// break;
// sum = sum + a[l];
// l = l + 1;
// }
for (; l <= r && r < n; l++) { // 使用for循环,同时也要检测是否越界
sum += a[l];
}
// printf("%lld\n", sum); // 原式
printf("%d\n", sum);
}
return 0;
}