首页 文章

在编译器中获取C代码的错误,更详细的内部[关闭]

提问于
浏览
-4

这是我在Visual Studio 2013中用C编写的代码片段 . 目标是遍历循环并在5X5 2-d数组中打印列和行的总和 . 当我尝试编译时,我得到一个错误说明:

错误C2440:'=':无法从'int *'转换为'int'

我在这个程序中的任何地方都没有指针,这是我得到的唯一编译错误 . 任何人都可以告诉我为什么它误将我的整数误认为整数指针?

for (i = 0; i <= 4; i++)
    {
        for (k = 0; k <= 4; k++)
        {
            sum1[i] = sum1[i] + a[k];
            sum2[k] = sum2[k] + a[i];
        }
    }

1 回答

  • 1

    由于您想要计算5x5数组的行和列的总和,我猜 aint[5][5] 类型的二维数组 .

    在这种情况下,您必须使用 a[i][k] 访问它,因为 a[i] 是一个数组(一行),并且数组可以作为C中的指针进行访问 .

    for (i = 0; i < 5; i++)
    {
        for (k = 0; k < 5; k++)
        {
            sum_rows[i] = sum_rows[i] + a[i][k];
            sum_cols[k] = sum_cols[k] + a[i][k];
        }
    }
    

    哦,你在运行这个循环之前用零初始化了 sumX 数组,对吗?

相关问题