c - Xcode 给出了简单 C 数组的错误总和

标签 c arrays sum

我已经在 Xcode 和在线 C 编译器中测试了我的代码,由于某种原因 Xcode 打印了一个值 1606416234,而正确的总和应该是 10。

#include <stdio.h>
int sum_array(int x[], int n);
    int main(void) {
    // insert code here...
    printf("Hello, World!\n");
    int y[4]={1,2,3,4};
    printf("%d\n", sum_array(y, 4));


    return 0;
}

int sum_array(int x[], int n){
    int i, sum=0;
    for (i= 0; i<=n; i++){
        sum+=x[i];
    }
    return sum;
}

为什么 Xcode 给我这么大的数字?

最佳答案

你的 for循环太远了。你需要i < n , 不是 <= .您正在将数组读取到未知内存中。这个额外的值可以用任何东西填充。在某些情况下,它可能是 0,这会意外地给您正确的结果,即使代码是错误的。

关于c - Xcode 给出了简单 C 数组的错误总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44269402/

相关文章:

javascript - 从数组中删除了错误的项目

c# - byte[] 到无符号 BigInteger?

python - 迭代求和

mysql - PHP SQL 查询中的 UNION、SUM 和 count(*) 一起使用

c - 冒泡排序在 C 中不排序(Cormen 的伪代码)

c - 将数组传递给函数,将数组的每个值乘以 10

c - SIGINT 仅捕获一次

javascript - 检查对象是否包含具有值的属性

c - 如何在 C 中创建数组的 scanf 和 printf 函数?

mysql - 汇总查询结果