Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Porównywanie znaków w C/C++

radi175 03 Lis 2016 02:09 1146 2
  • #1 03 Lis 2016 02:09
    radi175
    Poziom 1  

    Hej,
    uczę się już jakiś czas programowania ale co raz napotykam na jeden problem z którym nie mogę się uporać.Chodzi mianowicie i porównywanie znaków typu char a głównie o komunikat:"Error:argument of type "char" is incompatible with parameter of type "const char*". Program do napisania pobiera od użytkownika ciąg znaków reprezentujący dowolny napis składający się ze znaków z tablicy A.Po wprowadzeniu każdej kolejnej litery znajduje w tablicy A komórkę, przechowującą tę literę, po czym adres znalezionej komórki w A zapisuje w kolejnej komórce tablicy B gdzie B, przechowuje wskaźniki do zmiennych typu char.Po zakończeniu wpisywania tablica B powinna zawierać wskaźniki do odpowiednich komórek tablicy A z kolejnymi literami wprowadzonego napisu.


    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 2
  • #2 03 Lis 2016 04:44
    michalko12
    Specjalista - Mikrokontrolery

    radi175 napisał:
    Chodzi mianowicie i porównywanie znaków typu char a głównie o komunikat:"Error:argument of type "char" is incompatible with parameter of type "const char*".

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #3 04 Lis 2016 19:08
    Krzysztof Gustaw
    Poziom 23  

    Witam!
    Funkcja strncmp jako argumenty oczekuje wskaźniki do elementów typu char a Kolega podaje zmienne typu char a to nie to samo. Stąd ten błąd. A tak w ogóle widzę, że Kolega ma zamiar porównywać ze sobą znaki. Po co w takim razie kombinować z funkcją strncmp aby porównać łańcuch o długości 1 skoro w tym przypadku można (a nawet należy porównać ze sobą znaki bezpośrednio np:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Pozdrawiam
    KG

    0