
{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...
{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);}
结果和详细过程 展开
case’1’: v1++;
case’3’: v3++;
case’2’: v2++;}
printf(“v1=%d, v2=%d, v3=%d, v4=%d\n”,v1,v2,v3,v4);}
结果和详细过程 展开
3个回答
展开全部
运行结果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++;你算算就知道个数了。
这个程序原本的意思应该是找出字符串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++;你算算就知道个数了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |