Witam,
niedawno na mojej uczelni ruszyliśmy z tematem wskaźników. Dostałem do napisania zadanie polegające na dopisaniu "zawartości" kilku funkcji, jednak podkreślono, że elementem wymaganym w tych zadaniach jest użycie wskaźników. Jedna z tych właśnie funkcji sprawia mi kłopot i nie mam żadnego pomysłu jak sobie z tym poradzić i to pomimo tego, że wygląda na dosyć prostą.
Mianowicie, ma być to funkcja, która "Wyznacza wskazanie na pierwsze wystąpienie podanego znaku c w tablicy s zawierającej napis."
Tak wygląda jeden z moich pomysłów na tę funkcję w chwili obecnej:
char * chr_str_pos(char c, char * s)
{
for(; *s != '\0'; ++s)
{
if(*s == c)
{
// ???
}
else
{
return 0;
}
}
}
W miejscu gdzie wstawiłem trzy znaki zapytania pojawia się mój problem, bo nie mam pojęcia co powinno tam być. Próbowałem wpisać tam return s; ale kiedy tak robię, to funkcja nie działa poprawnie i nie wyświetla wyniku, również return *s; sprawdzałem, ale to też jest niepoprawnie i w ogóle pokazuje się przy tym na czerwono błąd.
Inną moją myślą było coś w tym stylu:
char * chr_str_pos(char c, char * s)
{
int pozycja = 0;
for(; *s != '\0'; ++s)
{
pozycja++;
if(*s == c)
{
break;
}
}
return pozycja;
}
Jednakże nie mam żadnego pomysłu jak to zmienić na taką wersję w której pozycja nie jest intem no i żeby działało.
Stąd moje pytanie, czy mógłby ktoś pomóc mi z tym i jakoś nakierować mnie na właściwe rozwiązanie?
Będę wdzięczny za wszelkie podpowiedzi.