编译错误error C2143: syntax error : missing ';' before 'type'

#include<stdio.h>voidmain(){intN,s,i,j;scanf("%d",&N);inta[N][N],(*p)[N]=&a;for(i=0,j... #include<stdio.h>
void main()
{int N,s,i,j;
scanf("%d",&N);
int a[N][N],(*p)[N]=&a;
for(i=0,j=0;i<N;i++,j++)
scanf("%d",&a[i][j]);
int fun(int (*q)[N]);
s=fun(p);
printf("%d",s);
}
int fun(int (*q)[N])
{int s=0,i,j;
for(i=0,j=0;i<N;i++,j++)
s=s+q[i][j]+q[i][N-j-1];
return s;
}
展开
 我来答
百度网友0aaf355ae
2009-04-30 · TA获得超过179个赞
知道答主
回答量:121
采纳率:0%
帮助的人:0
展开全部
首先你得先声明函数fun,然后才能调用,还有看你的main里面,读N,再int a[N][N],这就无敌错了,因为你这是属于静态分配的数组,大小必须得是常数,你这是变量,而int a[10],就行,你如果想动态的话,需要用malloc或者new操作符(别忘了free或delete),你的fun函数传的参数没看懂,C预言好好学,然后学C++
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沪漂老韩的乐活生活
2009-04-28
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
函数没声明啊。在int N,s,i,j; 加上int fun(int (*q)[N]) ;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式