c语言与指针和数组有关的问题

如何用c语言实现先输入一行字符,将其存放在字符数组中,再输入一个指定字符,在字符数组中查找这个指定字符,若数组中含有该字符,则输出该字符在数组中第一次出现的位置(即下标),否则输出-1。


#include<stdio.h>
int main()
{
    char str[100],ch;
    int i,flag=0;
    gets(str);
    ch=getchar();
    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]==ch)
        {
            printf("%d",i);
            flag=1;
            break;
        }
    }
    if(flag==0)
        printf("-1");
    return 0;
}

仅供参考,可以的话记得采纳

#include<stdio.h>
#include<string.h>
int main()
{ 
    char a[100], ch;
    int i;
    
    printf("Input string:\n");
    gets(a);
    printf("Input ch:\n");
    scanf("%c",&ch);

    for(i = 0; i < strlen(a); i++)
    {
        if(ch == a[i])
        {
            break;
        }    
    }
    if(i == strlen(a))
    {
        printf("-1\n");
    }
    else
    {
        printf("%d\n",i);
    }
    return 0;
}