首页 > 用户发贴区 > 编程问题提问区 > 请教个switch问题
2008
08-15

#include  <stdio.h>  


    main() 


      {  int   x=1,y=0,a=0,b=0; 


        switch(x) 


        {  case 1: 


              switch(y) 


              {  case   0:  a++;  break; 


                 case   1:  b++;  break; 


              } 
 case 2:  a++;  b++;  break; 


             case 3:  a++;  b++; 


         } 


         printf(“a=%d,b=%d\n”,a,b); 


     } 


答案是 a=2 b=1      能不能详细说说过程? 我初学看不懂


请教个switch问题》有 1 条评论

  1. whos 说:

    x=1,执行switch(x)中的case 1,y=0,执行switch(y)中的case 0,因为a=0,所以a++之后a=1,break跳出switch(y)。

    因为case 1后面没有break,所以顺序执行case 2,a++,b++后a=2,b=1,最后break跳出switch(x),执行 printf(“a=%d,b=%d\n”,a,b),输出a=2,b=1。

留下一个回复