#include<stdio.h> main() {char *a="12134211"; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;k<=strlen(a);k++) switch(*a

admin2010-04-24  25

问题 #include<stdio.h>
   main()
   {char *a="12134211";
   int v1=0,v2=0,v3=0,v4=0,k;
   for(k=0;k<=strlen(a);k++)
   switch(*a++)
   {default:v4++;
   case’1’:v1++;
   case’3’:v3++;
   case’2’:v2++;)
   printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}

选项

答案v1=3,v2=5,v3=4,v4=1

解析  #include<stdio.h>
   main3()
   {char *a="12131211";
   int v1=0,v2=0,v3=0,v4=0,k;
   for(k=0;k<strlen(a);k++)/*,循环被终止的条件是k的值大于字符串a的长度8*/
   switch(*a++)/*选择的条件是数组a的元素,并且a作为于指针变量有一个自增1运算*/
   {default:v4++;
   case’1’:v1++;
   case’3’:v3++;
   case’2’:v2++}/*因没有break语句,从符介条什的语句开始,每一行case语句都会被执行*/
   printf("vt=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
   }
转载请注明原文地址:https://kaotiyun.com/show/cxAx777K
0

最新回复(0)