求详细解释 希望写出每一步 谢谢16. 下面程序的输出结果是( ). main() { char s[ ]=”12134211”; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;s[k];k++) switch(s[k]) { 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); } A)v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8

问题描述:

求详细解释 希望写出每一步 谢谢
16. 下面程序的输出结果是( ). main() { char s[ ]=”12134211”; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;s[k];k++) switch(s[k]) { 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); } A)v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8

看你程序的排版,让回答你问题的人有多累!这个就是switch-case语句,因为你case语句都没有break,所以匹配的case及后面的case都会执行.举一个例子,k=0时,switch(s[0])匹配case ‘1‘,所以v1++,但是后面的case也都会执行...