怎么定义一个空的二维数组
编写了个程序,书上说定义数组空的字符变量用""就行了,但是编出来后编译过不去,有没高手能告诉一下。程序如下:#include<stdio.h>#defineN5main(...
编写了个程序,书上说定义数组空的字符变量用""就行了,但是编出来后编译过不去,有没高手能告诉一下。程序如下:
#include<stdio.h>
#define N 5
main()
{
int i,j,k,m;
char a[N][N]="";
m=6;
for(i=0;i<2;i++)
{
a[i][4-i]=m;
m=m+1;
}
m=8;
for(i=3;i<N;i++)
{
a[i][4-i]=m;
m=m+1;
}
k=1;
for(i=0;i<N;i++)
{
a[i][i]=k;
k=k+1;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d",a[i][j]);
printf("\n");
}
} 展开
#include<stdio.h>
#define N 5
main()
{
int i,j,k,m;
char a[N][N]="";
m=6;
for(i=0;i<2;i++)
{
a[i][4-i]=m;
m=m+1;
}
m=8;
for(i=3;i<N;i++)
{
a[i][4-i]=m;
m=m+1;
}
k=1;
for(i=0;i<N;i++)
{
a[i][i]=k;
k=k+1;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d",a[i][j]);
printf("\n");
}
} 展开
3个回答
展开全部
1 6
1 7
1
8 1
9 1
#include<stdio.h>
#define N 5
int main() {
int i,j,k;
char a[N][N],m;
for(i = 0;i < N;++i)
for(j = 0;j < N;++j)
a[i][j] = ' ';
m = '6';
for(i = 0;i < 2;i++) {
a[i][4 - i] = m;
m = m + 1;
}
m = '8';
for(i = 3;i < N;i++) {
a[i][4 - i] = m;
m = m + 1;
}
m = '1';
for(i = 0;i < N;i++) {
a[i][i] = m;
k = k + 1;
}
for(i = 0;i < N;i++) {
for(j = 0;j < N;j++)
printf("%c",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
1 7
1
8 1
9 1
#include<stdio.h>
#define N 5
int main() {
int i,j,k;
char a[N][N],m;
for(i = 0;i < N;++i)
for(j = 0;j < N;++j)
a[i][j] = ' ';
m = '6';
for(i = 0;i < 2;i++) {
a[i][4 - i] = m;
m = m + 1;
}
m = '8';
for(i = 3;i < N;i++) {
a[i][4 - i] = m;
m = m + 1;
}
m = '1';
for(i = 0;i < N;i++) {
a[i][i] = m;
k = k + 1;
}
for(i = 0;i < N;i++) {
for(j = 0;j < N;j++)
printf("%c",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是你漏了{},在初始化数组时,是需要加上{}的,char a[N][N]={""};
就不会出错了
就不会出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char a[N][N]; 就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询