C语言计算题,为什么答案是5

#include <stdio.h>
main()
{
    int i=0,x=2,y=3,m=3;
    while(i<m)
    {x+=2;y-=3;x+=y+1;i+=2;}
    printf("%d",x);
}

i=0,m=3

i<m true

{

x+=2;       // i=0,x=4,y=3,m=3

y-=3;        // i=0,x=4,y=0,m=3

x+=y+1;   // i=0,x=5,y=0,m=3

i+=2;        // i=2,x=5,y=0,m=3

}

i=2,m=3

i<m true

{

x+=2;       // i=2,x=7,y=0,m=3

y-=3;        // i=2,x=7,y=-3,m=3

x+=y+1;   // i=2,x=5,y=-3,m=3

i+=2;        // i=4,x=5,y=-3,m=3

}

i=4,m=3

i<m flase 跳出循环,结束

对,循环语句 一步一步写出来就对了。或者直接上机Debug看,更明显更直接。

也许对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html