这道C语言怎么做?

来源:百度知道 编辑:UC知道 时间:2024/05/17 12:55:32
#include <stdio.h>
main()
{int n[2]={0},i,j,k=2;
for(i=0;i<k;i++)
for (j=0;j<k;j++)n[j]=n[i]+1;
printf(“%d\n",n[k]);
}
答案为什么是“不确定的值”呢?

因为整个程序没有对n[k]也就是n[2]这个内存单元进行存储
n[2]是没有定义的
因为C语言的数组下标 是从0开始的 所以int n[2]实际上值定义了n[0]和n[1]这两个内存单元

你定义的是有两个值的数组,只能输出n[0]和n[1],你输出的n[k]即n[2];没有定义就不说了,也没有赋值,运行不报错就是奇迹了

n[2]定义的是n[0-1]
n[2]在定义之外