老牛来学习 发表于 2020-3-25 18:52:40

C语言

#include<stdio.h>

int main()
{
    int m, k = 0, s = 0;
    for(m = 1;m <= 4; m++)
    {
      switch(m%4)
      {
            case 0:
            case 1:s+=m;break;
            case 2:
            case 3:s-=m;break;
      }
      k+=s;
    }
    printf("%d",k);
}

执行过程:
初始化:m = 1; k = 0, s = 0

①:m%4 = 1执行case1;s=0+1=1;break;
        k=k+s=1;
②:m++=2;m%4 = 2;执行case2;s = 1-2 =-1;break
        k=k+s=0;
③:m++=3;m%4 = 3;执行case3;s = -1-3 =-4;break
        k=k+s=-4;
④:m++=4;m%4 = 0;执行case0;s = -4+4=0;break
        k=k+s=-4;


上面的程序执行过程是这样的吗?

4goodworld 发表于 2020-3-25 19:52:11

我认为你的解答没问题
最后,给你一个建议,你直接下断跟踪下,不直接解决问题了吗?
页: [1]
查看完整版本: C语言