下面这个C程序为什么没有输出

来源:百度知道 编辑:UC知道 时间:2024/06/24 12:19:00
main()
{ int n[2]={0},i,j,k=2;
clrscr();
for(i=0;i<k;i++)
for(j=0;i<k;j++)
n[j]=n[i]+1;
printf("%d\n",n[1]);
getch();
}

A没有输出 B 3 C 2 D 1

为什么

for(j=0;i<k;j++)第二行
for(j=0;j<k;j++)//j和i写错了

for(i=0;i<k;i++)
for(j=0;i<k;j++)
自己看第二个循环的i永远小于K,哪么可以认为是一个死循环!当j的值到一定大小的时候比如j→∞时n[j]=n[i]+1;这条语句就访问的内存地址大于系统内存的最大值,哪么程序报错退出,

这个根本就是错的啊。
printf("%d\n",n[1]); 不再循环里面。也就是只能出一个数字。n[1]。加上你N就定义3个怎么也不可能出4个啊。
错误太多没法改。。。。。

A
只给n[0]赋值为零,输出的是n[1],没有赋值;循环中只是将每项本身加一,n[1]没有赋值,所以不加,也就没有输出