switch(s[k])
{ case '1':i=0;
case '2':i=1;
case '3':i=2;
case '4':i=3;
}s的类型是 char * 。它是一个指针,这个指针指向一个字符串。
这个程序就是通过遍历统计s中1、2、3、4的个数,存在数组v里。
另外你的程序有两处错误,第一int v[4]= (0,0,0,0)应该用{}括起来 第二case语句后面要加break
改完之后是这样:
#include <stdio.h>
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;break;
case '2':
i=1;break;
case '3':
i=2;break;
case '4':
i=3;break;
}
v[i]++;
}
for(k=0; k<4; k++)
printf("%d",v[k]);
}
你这代码不行啊,case没用用break,最后i值会始终是3