{int a[2]={0},i,j,k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)a[j]=j[i]+1;
printf("%d\n",a[2]);
}
可以改得能运行吗?
你把a[j]=j[i]+1;改成a[j]=a[i]+1;
把printf("%d\n",a[2]);改成printf("%d\n",a[1]);就行了
越界了。你定义的int a[2];它的下标是从0开始的,即只有a[0],a[1],没有a[2],你最后的输出出错了
把printf("%d\n",a[2]);改成printf("%d\n",a[1]);就行了
越界了。你定义的int a[2];它的下标是从0开始的,即只有a[0],a[1],没有a[2],你最后的输出出错了
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-10-28
int a[2]={0}
定义一维整形数组a,a大小是2,并给a[0]赋初始值0,a[1]并未赋值,如果查看a[1]的值,就是a指向的地址开始的第二个元素 *(a+1)的值。
定义一维整形数组a,a大小是2,并给a[0]赋初始值0,a[1]并未赋值,如果查看a[1]的值,就是a指向的地址开始的第二个元素 *(a+1)的值。
第2个回答 2010-10-29
{int a[2]={0},i,j,k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)a[j]=j[i]+1;//这行j[]是数组??不能这么定义,
printf("%d\n",a[2]);
}
//输出不确定之是因为没有赋值!!
像
int i;
printf("%d",i);
就会输出系统随机数;
for(i=0;i<k;i++)
for(j=0;j<k;j++)a[j]=j[i]+1;//这行j[]是数组??不能这么定义,
printf("%d\n",a[2]);
}
//输出不确定之是因为没有赋值!!
像
int i;
printf("%d",i);
就会输出系统随机数;