void main(){char *s="12134211",int v[4]={0,0,0,0} k,i ;for(k=0,s[k];k++){ switch(s[k]){ case '1' :i=0 ;case '2' :i=1 ;case '3':i=2 ;case '4' :i=3 ; }v[i]++;}for(k=0,k程序运行结果是_____

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 10:11:55
void main(){char *s=

void main(){char *s="12134211",int v[4]={0,0,0,0} k,i ;for(k=0,s[k];k++){ switch(s[k]){ case '1' :i=0 ;case '2' :i=1 ;case '3':i=2 ;case '4' :i=3 ; }v[i]++;}for(k=0,k程序运行结果是_____
void main()
{char *s="12134211",int v[4]={0,0,0,0} k,i ;
for(k=0,s[k];k++)
{ switch(s[k])
{ case '1' :i=0 ;
case '2' :i=1 ;
case '3':i=2 ;
case '4' :i=3 ; }
v[i]++;
}
for(k=0,k
程序运行结果是_____

void main(){char *s="12134211",int v[4]={0,0,0,0} k,i ;for(k=0,s[k];k++){ switch(s[k]){ case '1' :i=0 ;case '2' :i=1 ;case '3':i=2 ;case '4' :i=3 ; }v[i]++;}for(k=0,k程序运行结果是_____
应该是0008
在switch语句中,如果没有break、goto、return或continue等跳出switch,程序会忽视case语句,往下执行.
因此,本题中,不管字符串s中的字母是什么,在进入switch中,最后都会执行i=3.结果,就是数组v的第4个变量v[3]一直增加,结果,就是字符串s有多长,v[3]就有多少,v[0]、v[1]、v[2]都一直是0.最后,输出v,得到的就是0008

1000

你确信case语句后面没有break吗,如果真是现在这样,结果是0007,如果有break语句,结果应该是4211

俺也不懂。55555555555