你这字符数组大小也太小气了吧?为啥只定义3个,你定义个300,,3000个好了
即使只输入abc,那也需要定义为4个,还有一个字符串结束符啊
而且scanf("%c",&ch),也不对。建议改为
scanf("%s %c",arr,&ch);否则ch接收的是空格啊
最后printf("%d",j);后加break;结束循环,否则还会输出其它相同字符的位置
修改如下:
#include<stdio.h>
#include<string.h>
int main()
{
int i,j=-1;
char arr[100];
char ch;
scanf("%s",arr);
scanf(" %c",&ch);
for(i=0;i<strlen(arr);i++)
{
if(arr[i]==ch)
{
j=i+1;
break;
}
}
printf("%d\n",j);
return 0;
}
最后的printf -1那个要缩进