| 
 | 
 
 
发表于 2015-7-29 18:00:02
|
显示全部楼层
 
 
 
- #include <stdio.h>
 
 - #define  DEBUG1 printf("1.x=%d;y=%d;z=%d;\n",x,y,z)
 
 - #define  DEBUG2 printf("2.x=%d;y=%d;z=%d;\n",x,y,z)
 
 - /*IED&Compile:C-Free 5.0; 
 
 -  *说明:纯属个人理解,忽悠纯属个人业余爱好 ;
 
 -  */ 
 
 - int main(){
 
 -         char ch;
 
 -         int x=0,y=1,z=0; 
 
 -         
 
 -         do{
 
 -                 printf("接受输入字符:"); 
 
 -                 scanf("%c",&ch);
 
 -                 (void)getchar();/*这里我不太清楚,以前也遇到过,
 
 -                                    *存在于缓冲区的换行符被送到了下个接受 口中;
 
 -                                    *你可以把这个getchar()注释掉试试看 
 
 -                                    *但是我输入1,而后继续输入i,尼玛,然后我就艹了
 
 -                                    *...这个bug,找大神吧。。。 
 
 -                            */ 
 
 -                  switch(ch){
 
 -                         case 'i': case 'I':
 
 -                          case 'c': case 'C':
 
 -                         case 'o': case 'O': x++;
 
 -                                    default: y++; z++; 
 
 -             /*没有break;肯定是一级一级的判断,我想问的是存在case嵌套这种说法吗? 
 
 -           *不过,没有break;不管是case 'i':...; 还是case 'i': case 'I'..都是一样的 
 
 -           *如果输入的数据和任意case相同的就会实现x++和y++,z++;
 
 -           *如果没有和任意case一样的,就只实现y++,z++(dafault); 
 
 -           */                        
 
 -                                    DEBUG1;
 
 -                                 printf("任意键继续...");
 
 -                                    (void)getchar();
 
 -                      }
 
 -        DEBUG2;
 
 -            printf("任意键继续...");
 
 -        (void)getchar();
 
 -        }while( ch!='m' );
 
 -        
 
 -     printf("x=%d y=%d z=%d", x, y, z);
 
 -     getchar();
 
 - return 0;
 
 - }
 
 - //1小时之后,我感觉我应该发布新的问题,我也遇到问题了。。。。。 
 
  复制代码 
 
时间:2013年7月29日18:02:38;  |   
 
 
 
 |