|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
main()
{ int i=7;
do
{
switch(i%2)
{
case 1:i++;break;
case 0:i--;continue;
}
i=i-2;
printf("i=%d\n",i);
}while(i>0);
}
为什么运行结果为i=0 i=2 i=4 i=6
- #include<stdio.h>
- int main()
- {
- int i=7;
- do
- {
- switch(i%2)
- {
- case 1:i++;break;
- case 0:i--;continue;
- }
- i=i-2;
- printf("i=%d\n",i);
- }while(i>0);
- return 0;
- }
- /*
- 第一次 i=7 -> 7%2= 1 -> 执行i++ -> i=8 -> break跳出switch -> i=i-2=6 -> printf(6)
- 第二次 i=6 -> 6%2= 0 -> 执行i-- -> i=5 -> continue开启下次循环
- 第三次 i=5 -> 5%2= 1 -> 执行i++ -> i=6 -> break跳出switch -> i=i-2=4 -> printf(4)
- 第四次 i=4 -> 4%2= 0 -> 执行i-- -> i=3 -> continue开启下次循环
- 第五次 i=3 -> 3%2= 1 -> 执行i++ -> i=4 -> break跳出switch -> i=i-2=2 -> printf(2)
- 第六次 i=2 -> 2%2= 0 -> 执行i-- -> i=1 -> continue开启下次循环
- 第七次 i=1 -> 1%2= 1 -> 执行i++ -> i=2 -> break跳出switch -> i=i-2=0 -> printf(0)
- i = 0 跳出while,程序结束
- */
复制代码
|
|