C语言关于一维数组的题目

来源:百度知道 编辑:UC知道 时间:2024/05/05 01:12:04
#include <stdio.h>
void main()
{int n[2]={0},i,j,k=2;
for (i=0;j<k;j++)n[j]=n[i]+1;
printf("%d\n",n[k]);}为什么系统提示错误!详细点 新手上路啊!

你的j的值并没有赋初值,所以n[j]是你无法访问的,你要先给它一个值
还有,你定义的是含有两个元素的数组,分别是n[0]和n[1],你那个k的值是2,也是会出错的
#include <stdio.h>
void main()
{int n[2]={0},i,j,k=2;
for (i=0,j=0;j<k;j++)n[j]=n[i]+1;
printf("%d\n",n[1]);}//这一名看你要输出哪个元素了
}

for (i=0;j<k;j++)n[j]=n[i]+1;

for (i=0,j=0;j<k;j++)n[j]=n[i]+1;

j也要初始化,否则是个垃圾,什么值都不一定。

问题点1,你的j没有被初始化
问题点2,既然定义的是n[2],你开辟了2个4byte的空间,n[2]已经越界了