A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shenxian88 中级黑马   /  2015-5-2 16:02  /  1127 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 shenxian88 于 2015-5-2 23:22 编辑

void main( )
{
    int n[3],i,j,k;
    for(i=0;i<3;i++)
        n=0;
    k=2;
    for (i=0;i<k;i++)
        for (j=0;j<k;j++)
            n[j]=n+1;
    printf("%d\n",n[1]);   
}
这段代码的运行原理不太清楚,求大神讲解

6 个回复

倒序浏览
  1. #include <stdio.h>
  2. void main( )
  3. {
  4.         //定义了一个数组和三个变量
  5.         int n[3],i,j,k;
  6.         //for循环让n[0],n[1],n[3]都等于0
  7.         for(i=0;i<3;i++)
  8.                 n[i]=0;
  9.         //k赋值为2
  10.         k=2;
  11.         //外层循环
  12.         for (i=0;i<k;i++)
  13.                 //内层循环
  14.                 for (j=0;j<k;j++)
  15. /*
  16. 第一次i=0,j=0---->n[0]=n[0]+1-->n[0]==1
  17. 第二次i=0,j=1----->n[1]=n[0]+1-->n[1]==2
  18. 第三次i=1,j=0------n[0]=n[1]+1---n[0]==3
  19. 第四次i=1,j=1-----n[1]=n[1]+1----n[1]==3
  20. */
  21.                         n[j]=n[i]+1;
  22.         //输出n[1]就是3咯
  23.         printf("%d\n",n[1]);   
  24.         getchar();
  25. }
复制代码

这个应该看得懂吧。。。。
回复 使用道具 举报
好好看啊,好好看啊
回复 使用道具 举报
霸王睡别姬 发表于 2015-5-2 22:37
这个应该看得懂吧。。。。

谢谢,大神帮忙
回复 使用道具 举报
好好捋一捋就能看懂了。。。。
回复 使用道具 举报
#include <stdio.h>
#include <stdio.h>
int main( )
{//定义一个数组n 和三个变量
    int n[3],i,j,k;
    //遍历数组中每个元素,切让每个元素为0
    for(i=0;i<3;i++)
        n[i]=0;
        //给k赋值为2
    k=2;
    //外循环
    for (i=0;i<k;i++)
        {// 内循环
                for (j=0;j<k;j++)
            {
                        n[j]=n[i]+1;
                        /*当i=0 j=0 时n(0)=n(0) + 1
                                       n(0)=1
                        当i=0 j=1  时 n(1)=n(0)+1
                                       n(1)=1+1
                                                   n(1)=2
                   当i=1 j=0  时 n(0)=n(1) + 1
                                n(0)=2+1
                                n(0)=3
                当i=1 j=1    时   n(1)=n(1) + 1
                                 n(1) = 2+1
                                 n(1) = 3*/
                        }
                        }
    printf("%d\n",n[1]);   
}
回复 使用道具 举报
谢谢各位回复
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马