猿问

哪位大神告诉我这个运算过程

#include <stdio.h>

int main()

{

        int k,j,s;

        for(k=2;k<6;k++,k++)

  {

       s=1;

        for(j=k;j<6;j++)

        s+=j;

}

printf("%d\n",s);

return 0;

}


qq_放声就去笑_1
浏览 1516回答 3
3回答

慕先生4463397

我去,那么简单都不会先执行最里面的for循环在执行外面的循环,意思是里面for循环执行完,外面才执行一次,然后里面执行完,外面再执行一次,然后按照外面那样执行,还有我搞不清楚外层循环为什么写两个k++,写一个就得了

WORLD_CONNECTED

逻辑描述:外层循环把k初始化为2在k小于6的时候开始内层循环,并且每次循环结束k自增两次内层循环把s初始化为1,j初始化为k,在j小于6的时候,把s赋值为j+1,每次循环后j自增。因为每次进入内层循环前把s初始化成1了,所以最后一次内层循环应该是1+4+5;最后打印应该是10;伪代码:main函数{    (0)定义k,j,s;    (1)for循环-初始化k赋值为2         (2)当k小于6时                (2-1)s赋值为1;                    (2-2) for循环-初始化j赋值为k                          (2-2-1)当j小于6时                              (2-2-1-1)s赋值为(j+1)                          (2-2-2)j自增1                (2-2)【如果【不】符合:j小于6时】for循环结束,否则继续循环            (2)k大于等于6时出去                 (1-1)k自增1 ,自增两次    (1)【如果【不】符合:k大于等于6时出去】for循环结束,否则继续循环    最后打印s的值}

qq_放声就去笑_1

我已经在电脑远行过了,我只是不知道这个运算的原理
随时随地看视频慕课网APP
我要回答