【C语言】键盘输入一行字符(不大于80个字符),键盘输入一个字符,查找字符在字符串中第一次出现的位置

键盘输入一行字符(不大于80个字符),键盘输入一个字符,查找字符在字符串中第一次出现的位置并输出,如果没有找到,则输出-1。如:输入字符串为 This is a C program. 输入字符为p,则输出13(意为p出现在字符串的第13个字符)。

#include <stdio.h>
int main()
{
    char s[81],*p,c;
    p=s;
    gets(s);
    scanf("%c",&c);
    while (*p)
    {
        if (*p==c)
        {
            break;
        }
        p++;
    }
    if (*p=='\0')
    {
        printf("-1");
    } 
    else
    {
        printf("%d",p-s+1);
    }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-10
#include <stdio.h>
#include <string.h>

int fun(char *p, char ch)
{
unsigned int i = 0;
int flag = -1;
for(i = 0; i < strlen(p); i++)
{
if(ch == p[i])
{
flag = 1;
break;
}
}

if(flag == 1)
{
return i;
}

return -1;
}

int main()
{
char str[80] = "";
char ch;
int x;
printf("请输入一行字符:");
gets(str);
printf("请输入定位字符:");
scanf("%c", &ch);
x = fun(str, ch);
if(x < 0)
{
printf("-1\n");
}
else
{

printf("位置为第:%d个\n", x+1);
}
return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网