有以下程序 #include <stdio.h> main() { char *s="120119110"; int n0,n1,n2,nn,i; n0=n1=n2=nn=i=0; do{

admin2021-07-09  14

问题 有以下程序
    #include <stdio.h>
    main()
    {  char *s="120119110";
       int n0,n1,n2,nn,i;
       n0=n1=n2=nn=i=0;
       do{
            switch(s[i++])
            {  default   : nn++;
               case  ’0’ : n0++;
               case  ’1’ : n1++;
               case  ’2’ : n2++;
             }
           } while(s);
      printf("n0=%d,n1=%d,n2=%d,nn=%d\n",n0,n1,n2,nn);
    }
   程序的运行结果是

选项 A、n0=3,n1=8,n2=9,nn=1
B、n0=2,n1=5,n2=1,nn=1
C、n0=2,n1=7,n2=10,nn=1
D、n0=4,n1=8,n2=9,nn=1

答案A

解析 本题执行过程为,s[0]=’1’,匹配case’1’,n1=1,n2=1;s[1]=’2’,匹配case’2’, n2=2;s[2]=’0’,匹配case’0’,n0=1,n1=2,n2=3;s[3]=’1’,匹配case’1’,n1=3,n2=4;s[4]=’1’,匹配case’1’,n1=4,n2=5;s[5]=’9’,匹配default,nn=1,n0=2,n1=5,n2=6;s[6]=’1’,匹配case’1’,n1=6,n2=7;s[7]=’1’,匹配case’1’,n1=7,n2=8;s[8]=’0’,匹配case’0’,n0=3,n1=8,n2=9;s[9]=’\0’,退出循环。输出n0,n1,n2,nn为3,8,9,1,A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/OYtp777K
0

最新回复(0)