这段代码有什么问题 #include<stdio.h> int fun(int n,int a[][100]) { int s=0; int i=0,j=0; for(j=0;j<n;j++) { s+=a[0][j]; s+=a[n-1][j]; } for(i=1;i<n-1;i++) { s=s+a[i][0]; s+=a[i][n-1]; } return s; } int main() { int n,a[100][100],i,j; int s; scanf("%d",&n); for(i=0;i<n;i++) for(j=0;j<n;j++) { scanf("%d",&a[i][j]); } s=fun(n,a); printf("%d",s); return 0; }
时间: 2024-03-07 07:49:48 浏览: 59
华为笔试题
这段代码的问题在于函数名和参数中的括号不匹配,应该将函数名中的"fun"改为"func"。此外,在第二个for循环中,第二个语句的末尾缺失了"]",应该将"a[i]"改为"a[i][j]"。
正确的代码应该是这样的:
```
#include <stdio.h>
int func(int n, int a[][100])
{
int s = 0;
int i = 0, j = 0;
for(j = 0; j < n; j++)
{
s += a[0][j];
s += a[n - 1][j];
}
for(i = 1; i < n - 1; i++)
{
s += a[i][0];
s += a[i][n - 1];
}
return s;
}
int main()
{
int n, a[100][100], i, j, s;
scanf("%d", &n);
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
}
}
s = func(n, a);
printf("%d", s);
return 0;
}
```
阅读全文