**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我创建了一个包含两个元素的数组,并尝试比较静态数组,但它们的增量不像预期的那样工作,
预期输出为1 1
,但每次输出为0 1
下面是C代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
int a[] = {1, 2, 3};
int b[] = {3, 2, 1};
int *res = malloc(2 * sizeof(int));
int sumA = 0, sumB = 0;
for (int k = 0; k < 2; k++) {
if (a[k] > b[k]) {
printf("yes a\n");
sumA += 1;
} else if (a[k] < b[k]) {
printf("yes b\n");
sumB += 1;
}
}
res[0] = sumA;
res[1] = sumB;
printf("%d, %d", res[0], res[1]);
return 0;
}
我试着调试代码,但没有解决方案,我认为for循环是问题所在,我只需要提示或永久解决方案...
找你们帮忙。
2条答案
按热度按时间bvjxkvbb1#
ql3eal8s2#
你没有遍历所有3个有效的索引。
注意:您可以使用
sizeof a / sizeof *a
来计算数组中的元素数。