问题
问答题
#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); }