为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
qq_放声就去笑_1 2017-12-16 10:11:35
#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;}
查看完整描述

3 回答

?
慕先生4463397

TA贡献14条经验 获得超5个赞

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

查看完整回答
1 反对 回复 2017-12-16
  • qq_放声就去笑_1
    qq_放声就去笑_1
    因为这是一道题目,我才刚刚入门C语言,我不太明白,你能算出答案吗,告诉我过程我大概就懂了
  • 慕先生4463397
    慕先生4463397
    我已经告诉你过程了你在电脑上运行下
?
WORLD_CONNECTED

TA贡献11条经验 获得超8个赞

逻辑描述:

外层循环把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的值

}

查看完整回答
反对 回复 2017-12-18
?
qq_放声就去笑_1

TA贡献5条经验 获得超1个赞

我已经在电脑远行过了,我只是不知道这个运算的原理

查看完整回答
反对 回复 2017-12-18
  • 3 回答
  • 0 关注
  • 1472 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信