none
C语言 switch语句的问题! RRS feed

  • 问题

  • #include <stdio.h>
    void main()
    {
     char c1,c2;
     scanf("%c%c",&c1,&c2);
     while(c1!='q')
     {
     switch(c1)
     { case '5' :
      switch(c2)
      {case '+':
       printf("score=100\n");break;
       case '\n' :
       printf("score=90\n");break;
       case'-' :
       printf("score=85\n");break;
      } break;
       case '4':
       switch(c2)
      {case '+':
       printf("score=80\n");break;
       case '\n':
       printf("score=75\n");break;
       case '-':
       printf("score=70\n");break;
      } break;
       case '3':
       printf("score=60\n");break;
       case '2':
       printf("score<60\n");break;
       case '1':
       printf("score<60\n");break;
       default :
       printf("input error!\n");break;
    }
     scanf("%c%c",&c1,&c2);
    }
    }
    

     

    请问 为什么在测试的时候,结果一会正确一会错误呢? 请告诉解答 十分感谢!!!

    2010年6月21日 10:02

答案

  • 你好!   

         我猜测不出你想实现什么功能,嵌套的switch语句是十分糟糕的写法,除非是为了故意练习这个语句而写的这么乱!你可以单步调试,就看出来代码是如何执行的了!


    周雪峰
    2010年6月22日 4:58
    版主