{char *s=”12134211”; Int v1=0,v2=0,v3=0,v4=0,k; for(k=0,s[k];k++) switch(s[k])

2024-12-30 15:31:53
推荐回答(3个)
回答1:

运行结果v1=5, v2=8, v3=6, v4=1
这个程序原本的意思应该是找出字符串s中字符‘1’‘2’‘3’‘4’出现的个数,但是,标准的switch case语句应该是每个case后对应会有一个break;如果没有break,会继续往下执行。这里没有写所以运行的过程是,第一个字符‘1’时,v1++,v3++,v2++;第二个字符‘2’时,v2++;第三个字符‘1’时,v1++,v3++,v2++;第四个字符‘3’时,v3++,v2++;第五个字符‘4’时,v4++,v1++,v3++,v2++;第六个字符‘2’时,v2++;第七个字符‘1’时,v1++,v3++,v2++;第八个字符‘1’时,v1++,v3++,v2++;你算算就知道个数了。

回答2:

答案是8,8,8,8,因为Switch里面的是是s[k],与下面的项没有一个符合的。

回答3:

全部为8我用C运行过了,不过我也想问为什么