3个回答
展开全部
可以从1开始赋值,但注意,a[3][4]是不能赋值的。
你问的比较含糊,不知道你的疑问具体是哪方面。
两方面来说,RAM是随机访问的,你可以任意访问,不存在从哪开始的问题。
另一方面,C语言规定数组的下标从0开始,不能越界访问。
比如定义数组 int a[3]; 其中3的意思是有3个元素,下标从0开始,3个下标就是0、1、2,不存在下标为3的元素。还有,你可以注意下,用for循环初始化、访问数组
for ( i = 0; i < N; ++i )
{
a[i] = 0;
}
这里的条件是i<N; 一定不能是i <=N;
如果逆序访问,则是
for( i = N-1; i >=0; --i )
结论,C语言的数组,从哪开始访问没关系,但一定不能越界,尤其要注意i==N的情况,绝对不允许。,这一点一定一定要搞清楚,切记!!!。
你问的比较含糊,不知道你的疑问具体是哪方面。
两方面来说,RAM是随机访问的,你可以任意访问,不存在从哪开始的问题。
另一方面,C语言规定数组的下标从0开始,不能越界访问。
比如定义数组 int a[3]; 其中3的意思是有3个元素,下标从0开始,3个下标就是0、1、2,不存在下标为3的元素。还有,你可以注意下,用for循环初始化、访问数组
for ( i = 0; i < N; ++i )
{
a[i] = 0;
}
这里的条件是i<N; 一定不能是i <=N;
如果逆序访问,则是
for( i = N-1; i >=0; --i )
结论,C语言的数组,从哪开始访问没关系,但一定不能越界,尤其要注意i==N的情况,绝对不允许。,这一点一定一定要搞清楚,切记!!!。
展开全部
可以的,没问题
只是没用赋值的元素,不要引用它就行了。
只是没用赋值的元素,不要引用它就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i,j;
for(i=1;i<3;i++){
for(j=1;j<4;j++){
scanf("%d",&a[i][j]);
}
}
//前面未赋值的除非是全局变量自动为0,否则一用则爆
//这是从a[1][1]->a[1][2]->a[1][3]->a[2][1]->a[2][2]->……
//如果你想能够输入a[2][0]就可以
int i,j;
for(i=1;i<3;i++){
j=(i==1)?1:0;
for(;j<4;j++){
……
}
}
for(i=1;i<3;i++){
for(j=1;j<4;j++){
scanf("%d",&a[i][j]);
}
}
//前面未赋值的除非是全局变量自动为0,否则一用则爆
//这是从a[1][1]->a[1][2]->a[1][3]->a[2][1]->a[2][2]->……
//如果你想能够输入a[2][0]就可以
int i,j;
for(i=1;i<3;i++){
j=(i==1)?1:0;
for(;j<4;j++){
……
}
}
追问
谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询