小阿妞 发表于 2015-7-29 13:59:50

是在看不懂!

#include <stdio.h>

main()
{
      char c;
      int x=0,y=1,z=0;
      do
      {
                switch( c = getchar() )
                {
                        case 'i': case 'I':
                        case 'c': case 'C':
                        case 'o': case 'O': x++;
                        default: y++; z++;
                }
      }while( c!='m' );
      printf("x=%d y=%d z=%d", x, y, z);
}

364904690 发表于 2015-7-29 16:23:59

想问什么问题呢,哪个地方看不懂?

小人 发表于 2015-7-29 16:24:38

你哪不懂可以 讲出来 {:9_241:}

爱你没错 发表于 2015-7-29 17:15:54

让程序跑一下

lark 发表于 2015-7-29 18:00:02

#include <stdio.h>
#defineDEBUG1 printf("1.x=%d;y=%d;z=%d;\n",x,y,z)
#defineDEBUG2 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;{:7_119:}

小阿妞 发表于 2015-7-30 15:29:51

364904690 发表于 2015-7-29 16:23
想问什么问题呢,哪个地方看不懂?

答案是6,15,14
这答案怎么来的?

小阿妞 发表于 2015-7-30 15:30:31

364904690 发表于 2015-7-29 16:23
想问什么问题呢,哪个地方看不懂?

答案是6,15,14
这答案怎么来的?

小阿妞 发表于 2015-7-30 15:37:00

lark 发表于 2015-7-29 18:00
时间:2013年7月29日18:02:38;

我彻底看晕了!大神

小阿妞 发表于 2015-7-30 15:37:51

小人 发表于 2015-7-29 16:24
你哪不懂可以 讲出来

答案是6,15,14
这答案怎么来的?

yjip267 发表于 2015-7-30 16:13:04

这个要看你输入的是些什么值。才能算出答案,你仔细看一下5楼的。讲得很细了。

刘彤敏 发表于 2015-7-30 16:18:46

有些东西没有学到,需要慢慢消化

lark 发表于 2015-7-30 16:43:52

小阿妞 发表于 2015-7-30 15:37
我彻底看晕了!大神

因为我提前晕了{:7_146:}

康小泡 发表于 2015-8-4 14:41:08

这个很好理解呀,一开始就让你输入一字母,然后判断这个字母是不是 'i','I','o','O','c','C'这几个中的一个,如果是的话就x增加1,如果不是的话,就y和z增加1,知道你输入的的c等于'm'就结束了。输出什么是要看你输入了什么,是一个不固定的值
页: [1]
查看完整版本: 是在看不懂!