码迷,mamicode.com
首页 > 其他好文 > 详细

【一段代码】switch里的do…while

时间:2015-05-09 01:15:19      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<stdio.h>
 2 int main()
 3 {
 4  int n=5;
 5  switch(n){
 6     case 0:do{
 7     case 1:printf("1");
 8     case 2:printf("2");
 9     case 3:printf("3");
10     case 4:printf("4");
11     case 5:printf("5");
12     default:n--;
13    }while(n>2);
14 }
15 printf("\n");
16 return 0;
17 }

switch语句机制和goto语句相同(类似?),可以实现无条件跳转。——这是我能问到的比较靠谱的答案了。

1 goto Label;
2 do{
3    Label:
4     printf("123");
5   }while(0);
 用goto跳到循环中间和用switch 跳到循环中间 没什么区别,case决定了起始位置。
 称,标签语句。
 
这里switch(n)直接跳转到执行句case 5那里,输出5,之后仍在do…while循环内,此时do…while内的case、default已经失效,即直接执行它们之后的语句,按部就班执行,直到n=2,循环结束。
 
运行结果:51234512345.

【一段代码】switch里的do…while

标签:

原文地址:http://www.cnblogs.com/suzyc/p/4489183.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!