我一直在HackerRank 处理这个简单的编码挑战.我决定将我的解决方案作为C函数实现,因为用另一种语言或主函数本身来做它似乎是微不足道的.我以为我会用这种方式搞砸数组/指针语法几次,我有机会学到一些东西.
这是我的功能:
int sum_diagonal(int n, int (*arr)[n]) {
int lD, rD, sum;
for(int i = 0; i < n; ++i) {
for(int j = 0; j < n; ++j) {
if (i == j) {
rD += arr[i][j];
}
if ((i+j) == (n-1)) {
lD += arr[i][j];
}
}
}
sum = abs(lD - rD);
return sum;
}
Run Code Online (Sandbox Code Playgroud)
这是main()调用它的函数(提供输入矩阵的代码):
int main(){
int n;
scanf("%d",&n);
int a[n][n];
for(int a_i = 0; a_i < n; a_i++){
for(int …Run Code Online (Sandbox Code Playgroud)