c语言在字符串中查找指定字符,并输出指定字符在字符串中出现的次数及下标

#include<stdio.h>
#include<string.h>
int main()
{
char a[80]={"abcdefghijklmnopqrstuvwxyz"},ch;
int i,j,m=0,flag=0,b[80],len;
len=strlen(a);
scanf("%s",&ch);
for(i=0;i<len;i++)
if(ch==a[i])
{b[m]=i;
m=m+1;
flag=1;}
if(flag==0)
printf("no found\n");
else
printf("m=%d",m);
for(j=0;j<m;j++)
printf("\n%d",b[j]);
return 0;
}
请问各位大神哪里出毛病了?
scanf("%c",&ch);改一下就好了

第1个回答  2014-12-23
#include<stdio.h>
#include<string.h>
int main()
{
char a[80]={"abcdefghijklmnopqrstuvwxyz"},ch;
int i,j,m=0,flag=0,b[80],len;
len=strlen(a);
scanf("%c",&ch); //改成%c。“%s”是字符串输入。ch只是单个字符
for(i=0;i<len;i++)
if(ch==a[i])
{b[m]=i;
m=m+1;
flag=1;}
if(flag==0)
printf("no found\n");
else
printf("m=%d",m);
for(j=0;j<m;j++)
printf("\n%d\n",b[j]);
return 0;
}
相似回答