写一个函数,使给定的一个3*3的二维整形数组转置,即行列互换。我写的输出有错误:

errorC2601:'exchange':localfunctiondefinitionsareillegal程序是:#include<stdio.h>voidmain... error C2601: 'exchange' : local function definitions are illegal
程序是:
#include <stdio.h>
void main()
{
void exchange(int a[3][3]);
int i,j,a[3][3];
printf("enter nine number:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("%2d",a[i][j]);
exchange(a);
printf("the number is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%2d",a[i][j]);
printf("\n");
}
void exchange(int a[3][3])
{
int i,j=1,t;
for(i=0;i<2;i++)
{for(j=1;j<3;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
}
}
}
展开
 我来答
Gifan
2013-05-22 · TA获得超过725个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:262万
展开全部
函数不能嵌套定义的,你的函数定义应该放在主函数的外面。还有函数参数 int a[3][3], 这个改为int a[][3] 因为二维数组的第一维是不用指定的。改成这样比较好一些
xiaobomo
推荐于2018-02-28 · TA获得超过523个赞
知道小有建树答主
回答量:533
采纳率:100%
帮助的人:366万
展开全部
#include <stdio.h>
void exchange(int a[3][3])
{
int i,j=1,t;
for(i=0;i<2;i++)
{
for(j=1;j<3;j++)
{
t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;
}
}
}
void main()
{
int i,j,a[3][3];
printf("enter nine number:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("%2d",a[i][j]);
exchange(a);
printf("the number is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%2d",a[i][j]);
printf("\n");
}
}

子函数不能在main函数中定义
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式