【发布时间】:2017-09-10 09:57:57
【问题描述】:
我正在尝试从二维数组中获取对角线值的值。比如……
10 20 30
10 20 30
10 20 30
从我的代码中,我将使用 index[0][0] 与 index1 和 index[2][2] 使用将计算为 60 的指针相加/相加。但是,当我构建和运行,它会返回内存地址的计算。任何人都可以在这里解释问题吗? (我是 C 编程和指针的新手)
void diagonals2D(int array[][SIZE], int rowSize, int colSize, int *sum)
{
int count;
*sum=0;
for(count=0;count<SIZE;count++)
{
(*sum)+=*(array+count+count);
}
}
【问题讨论】:
-
*(array+count+count)-->array[count][count] -
@Han (*sum)+=*( *( array+count )+count);
-
我已经编辑了我的答案,它似乎有效,检查一下
-
“使用指针”约束对未来的用户/访问者有何用处?琐碎的 [xy][xy] 索引更加清晰。
-
哦,谢谢!它正在工作:D
标签: c pointers multidimensional-array function-pointers