
C语言高手请进……在线等 int a[ ] [3] = {{1,0,2},{ },{2,3}}; 这个语句有什么错误?
这不是我写的代码哈,这是书上的题,这条语句不能对外部数组a进行初始化,可我不知道为什么……全角半角的问题不是问题……...
这不是我写的代码哈,这是书上的题,这条语句不能对外部数组a进行初始化,可我不知道为什么……全角半角的问题不是问题……
展开
12个回答
展开全部
答:提问者主动声明排除了书写时出现输入法切换导致的书写错误的可能,单从这句来看语法方面没有任何错误,错误关键在于你问题补充时的一句“外部数组”!
说明:
1.C语言中二维数组初始化时第二维不可以省略,而第一维是可以省略的;
2.外部数组只能在原文件中加外部全局变量extern初始化后在外部引用,因此不能在此程序中对外部数组变量进行初始化;
以下为测试源代码以及 Linux GCC下编译运行结果:
#include<stdio.h>
int main()
{
int i,j;
int a[][3] = {{1,0,2},{},{2,3}};
for(i = 0;i < 3;i ++)
{
for(j = 0;j < 3;j ++)
printf("%3d",a[i][j]);
printf("\n");
}
return 0;
}
运行结果:
1 0 2
0 0 0
2 3 0
以事实说话,实践才是真理……
说明:
1.C语言中二维数组初始化时第二维不可以省略,而第一维是可以省略的;
2.外部数组只能在原文件中加外部全局变量extern初始化后在外部引用,因此不能在此程序中对外部数组变量进行初始化;
以下为测试源代码以及 Linux GCC下编译运行结果:
#include<stdio.h>
int main()
{
int i,j;
int a[][3] = {{1,0,2},{},{2,3}};
for(i = 0;i < 3;i ++)
{
for(j = 0;j < 3;j ++)
printf("%3d",a[i][j]);
printf("\n");
}
return 0;
}
运行结果:
1 0 2
0 0 0
2 3 0
以事实说话,实践才是真理……
展开全部
第一个维度不能省略。
要改成:
int a[3][3] = {{1,0,2},{ },{2,3}};
或者可以省略第二个维度(只有最后一个维度可以省略):
int a[3][] = {{1,0,2},{ },{2,3}};
要改成:
int a[3][3] = {{1,0,2},{ },{2,3}};
或者可以省略第二个维度(只有最后一个维度可以省略):
int a[3][] = {{1,0,2},{ },{2,3}};
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼的不会别误导别人好不?第二维才是不能为空的。第一维可以为空,第二维一定一定不能为空。
这个的错误确实中间那个{}的问题,一定至少要有一个值的。假如只有赋值一个值,那后后面的系统自动赋值为0.
这个的错误确实中间那个{}的问题,一定至少要有一个值的。假如只有赋值一个值,那后后面的系统自动赋值为0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-02
展开全部
N维数组中的前N-1维中的值不能省略,除非你把每N维数组的个数都写出来。
例如:a[]={1,2,3};或a[3]=...
a[][3]={{1,2,3},{2,0,4},{,,}};或a[3][3]=..
a[][3][2]={{{0,0},{,}},{{1,2},{3,4},{{,3},{4,6}}};或a[1][3][2]
......
starfar1983的回答是正确的
例如:a[]={1,2,3};或a[3]=...
a[][3]={{1,2,3},{2,0,4},{,,}};或a[3][3]=..
a[][3][2]={{{0,0},{,}},{{1,2},{3,4},{{,3},{4,6}}};或a[1][3][2]
......
starfar1983的回答是正确的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写代码的时候一定不要开输入法,你写的分号是全角的,删了重新写。
还有多余的空格不要随便留。
你写的语法完全没有问题。
既然谈到外部数组了,那你更不能在这个文件里面初始化了,只能用语句初始化。 在哪儿定义了在哪儿初始化,你要用它的话只能用extern申明。
还有多余的空格不要随便留。
你写的语法完全没有问题。
既然谈到外部数组了,那你更不能在这个文件里面初始化了,只能用语句初始化。 在哪儿定义了在哪儿初始化,你要用它的话只能用extern申明。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |