注册 登录
编程论坛 C语言论坛

学计算机的新手,请多多关照

秃头大凡 发布于 2021-10-31 20:24, 1049 次点击
int main(void)
{ int n[3],i,j,k;
  for(i=0;i<3;i++)
  n[i]=0;
  k=2;
  for (i=0;i<k;i++)
    for (j=0;j<k;j++)
       n[j]=n[i]+1;
  printf("%d\n",n[1]);
  return 0;
}
这个输出n[1]=3,不太明白,求解悉,谢谢😜
1 回复
#2
自由而无用2021-10-31 20:47
//online parser: https://www.bccn.net/run/
程序代码:
#include <stdio.h>

int main(int argc, char *argv[])
{
    int n[3], i, j, k;
   
    for(i = 0; i < 3 ; i++)
        n[i] = 0;
    k = 2;
    for (i = 0;  i < 2; i++) {
        puts("outter loop");
        printf("i = %d\n", i);
        for (j = 0; j < k; j++) {
            puts("\tinner loop");
            printf("\tj = %d\n", j);
            n[j] = n[i] + 1;
            printf("\tn[%d] = %d(n[%d] + 1)\n", j, n[j], i);
        }
    }  
    printf("n[1] = %d\n", n[1]);
   
    return 0;
}


output sample:

outter loop
i = 0
    inner loop
    j = 0
    n[0] = 1(n[0] + 1)
    inner loop
    j = 1
    n[1] = 2(n[0] + 1)
outter loop
i = 1
    inner loop
    j = 0
    n[0] = 3(n[1] + 1)
    inner loop
    j = 1
    n[1] = 3(n[1] + 1)
n[1] = 3
#3
apull2021-10-31 21:30
你的代码做个输出就明白了。

程序代码:

int main(void)
{ int n[3],i,j,k;
  for(i=0;i<3;i++)
    n[i]=0;
  k=2;   
  for (i=0;i<k;i++)
  {
    printf("i=%d,n[i]=%d\t",i,n[i]);
    for (j=0;j<k;j++)
    {
       n[j]=n[i]+1;
       printf("n[%d]=%d ",j,n[j]);
    }
    printf("\n");
  }
  printf("%d\n",n[1]);
  return 0;
}


结果:
i=0,n[i]=0    n[0]=1 n[1]=2
i=1,n[i]=2    n[0]=3 n[1]=3
3
1