[C-programing]代码分析:索尼一个循环嵌套面试题

    技术2022-05-19  51

    ------------------------------------------------  代码分析:索尼循环嵌套面试题

    第一段代码:

    #include<stdio.h>

    main()

    {

    int len;

    int i,j,k;

    scanf("%d",&len);

    for(i=0;i<len;i++)

      {for(j=0;j<i;j++)

          {printf("*");

              for(k=0;k<i-1;k++)

              printf(".");

          }

       printf("/n");

      }

    }

    执行结果:(输入5

     

    *

    *.*.

    *..*..*..

    *...*...*...*...

     

    第二段代码:

    #include<stdio.h>

    #define N 5

    int main()

    {

    int i;

    int j;

    int k;

    for(i=0;i<=N-1;i++)

     {

         for(j=0;j<=i;j++)

         {

         printf("*");

            for(k=0;k<=i-1;k++)

            {

                printf(".");

            }

         }

         printf("/n");

     }

     

    执行结果:

    *

    *.*.

    *..*..*..

    *...*...*...*...

    *....*....*....*....*....

    同样是5,但是结果却不同,很明显第一段代码没有“=”号,而且循环变量的初始值是0,所以,当i=0时,下面嵌套的语句不符合要求,不执行,所以出现了一个空行(第一个for语句还是执行了的,所以有一个空行);


    最新回复(0)