无论s[k]为'1'、'2'、'3'、'4',都会执行i = 3,原因是各个case语句后面都没有break语句,所以v[k]++,就是v[3]++,字符串s中只有'1'、'2'、'3'、'4'四中字符,共有8个,也就是说,v[3]++共执行8次,所以输出结果是B:0008。
答案是B.0 0 0 8
for (k=0;s[k];k++;)
在这for循环中,总共执行了8次,s[k]的值:1 2 1 3 4 2 1 1
如果s[k]为1时,
switch(1)
{
...........
}在这switch中匹配 case '1':i=0;此时i的值为1,但是因为没有break,那么switch会一直执行下去,直到 i = 3,其它的s[k]的值也一样,所以最后都有v[3]++;因为for执行了8次,v[3]也自加了8次,所以答案为B