Проблемы с поиском положения символа в строке - PullRequest
1 голос
/ 13 июня 2019

Моя функция возвращает неправильное значение.

Я попытался сделать этот код в основной функции, и он работает

int f_char(char a[], char l)
{
    int pos= 0;
    for(int i=0; a[i]!='\0'; i++)
    {
        if(a[i]==l){
            pos= i+1;
            break;
        }
    }
    return pos;
}

int main()
{
    char a[256]= "Hola";
    char l= 'l';

    f_char(a, l);
    printf("%c is in the position %d", l, f_char);
    return 0;
}

Ожидаемый результат:

л в 3 позиции

Но это дает мне:

l находится в положении 4199401

1 Ответ

1 голос
/ 13 июня 2019

Не вижу проблем в функции.


#include<stdio.h>
int f_char(char a[], char l)
{
    int pos= 0;
    for(int i=0; a[i]!='\0'; i++)
    {
        if(a[i]==l){
            pos= i+1;
            break;
        }
    }
    return pos;
}

int main(){
    char *sen= "abcd";
    char x = 'c';
   printf("%d", f_char(sen, x));   

    return 0;
}

выход: 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...