
c语言数组行列互换问题
#include<stdio.h>voidmain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("array...
#include<stdio.h>
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n);
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%d",b[i][j]);
}
}
}
但编译是提示
c:\documents and settings\administrator\元素调换2.c(16) : error C2001: newline in constant
c:\documents and settings\administrator\元素调换2.c(17) : error C2143: syntax error : missing ')' before 'for'
c:\documents and settings\administrator\元素调换2.c(17) : warning C4552: '<=' : operator has no effect; expected operator with side-effect
c:\documents and settings\administrator\元素调换2.c(17) : error C2143: syntax error : missing ';' before ')'
c:\documents and settings\administrator\元素调换2.c(19) : warning C4552: '<=' : operator has no effect; expected operator with side-effect
c:\documents and settings\administrator\元素调换2.c(19) : error C2143: syntax error : missing ';' before ')'
c:\documents and settings\administrator\元素调换2.c(23) : error C2059: syntax error : '}'
执行 cl.exe 时出错.
元素调换2.obj - 1 error(s), 0 warning(s)
请问是哪里出错了? 展开
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n);
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%d",b[i][j]);
}
}
}
但编译是提示
c:\documents and settings\administrator\元素调换2.c(16) : error C2001: newline in constant
c:\documents and settings\administrator\元素调换2.c(17) : error C2143: syntax error : missing ')' before 'for'
c:\documents and settings\administrator\元素调换2.c(17) : warning C4552: '<=' : operator has no effect; expected operator with side-effect
c:\documents and settings\administrator\元素调换2.c(17) : error C2143: syntax error : missing ';' before ')'
c:\documents and settings\administrator\元素调换2.c(19) : warning C4552: '<=' : operator has no effect; expected operator with side-effect
c:\documents and settings\administrator\元素调换2.c(19) : error C2143: syntax error : missing ';' before ')'
c:\documents and settings\administrator\元素调换2.c(23) : error C2059: syntax error : '}'
执行 cl.exe 时出错.
元素调换2.obj - 1 error(s), 0 warning(s)
请问是哪里出错了? 展开
3个回答
展开全部
#include<stdio.h>
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");//括号内你缺少右边的引号
for(i=0;i<=2;i++)//注意i的取值
{
for(j=0;j<=1;j++)//注意j的取值,i,j的值你刚好弄反了
{
printf("%d",b[i][j]);
}
printf("\n");//你缺少这行代码,不能有效的显示
}
}
我已经调试过了,能正确运行,如果不行的话,提出你具体的问题!
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");//括号内你缺少右边的引号
for(i=0;i<=2;i++)//注意i的取值
{
for(j=0;j<=1;j++)//注意j的取值,i,j的值你刚好弄反了
{
printf("%d",b[i][j]);
}
printf("\n");//你缺少这行代码,不能有效的显示
}
}
我已经调试过了,能正确运行,如果不行的话,提出你具体的问题!
展开全部
第一位兄弟算法有问题假设a(1)(2)=5
a(2)(1)等于3,第一次运算a(1)(2)=a(2)(1)=3,但i j变成2 1时,a(2)(1)=a(1)(2)=3
然后你懂的
a(2)(1)等于3,第一次运算a(1)(2)=a(2)(1)=3,但i j变成2 1时,a(2)(1)=a(1)(2)=3
然后你懂的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少写了引号。
printf("array b:\n);
改为:
printf("array b:\n");
printf("array b:\n);
改为:
printf("array b:\n");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询