#include<stdio.h> void main() { int a[4]={1,2,3}; a[4]={2,3,4,5}; printf("%d",a[]); getch(); }

2024-12-01 05:52:31
推荐回答(3个)
回答(1):

a=6;这个叫“赋值”而不是“重新定义”;
数组的话,要一个个元素去赋值,举个例子:
int a[4]={1,2,3,4};
a[0]=5;
a[1]=6;
a[2]=7;
a[3]=8;
[]内的数字表示数组的下标,从0开始到n-1。

回答(2):

初始化数组时时正确的,第一次赋值时也是正确的(即: a[4]={2,3,4,5)数组会占用一定的存储空间,它就像栈那样首位是连续的,你想要输出整个数组就应该把数组的成员都输出,所以就应该利用循环来一次输出,你那样想当然的输出时不正确的,不是%d所能解决的。
应该改成:for(int i=0;i<4;i++)printf("%d",a[i]);或者别的循环都行,呵呵……希望能帮助你!

回答(3):

a=6不叫重新定义,是重新给a赋值.如果是字符串数组的话,可以用printf("%s",str)来输出数组中的内容.但如果是数字的话,就得用循环了.