Zyziu Napisano Lipiec 19, 2018 Autor Zgłoś Udostępnij Napisano Lipiec 19, 2018 czy da się jakoś prosto porównać dwie tablice char o różnych długościach, a dokładniej porównujemy pierwsze znaki, a reszta tablic jest NULL??? //Chodzi o coś takiego char a[10]; char b[20]; /*wczytujemy z klawiatury*/ /*porównanie: if(a==b) nie działa*/ i pytanie nr.2 char polecenie[10]; /*wczytuemy*/ switch(polecenie){ case "abc": ... } czy w tym kodzie błąd wynika z różnej długości łańcuchów czy z czego innego?? Prosiłbym o pomoc pozdrawiam Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Lipiec 19, 2018 Zgłoś Udostępnij Napisano Lipiec 19, 2018 Stringow nie da sie tak porównać. Musisz zrobic to tak: bool porownaj(char *text1, char *text2) { if(strlen(text1)!=strlen(text2)) return false; int i = 0; while(text1[i]) { if(text1[i]!=text2[i]) return false; } return true; } char a[10], b[20]; // wczytanie do zmiennych a i b - oczywisice trzeba zakonczyc NULLem ;D if(porownaj(a,b)) printf("zmienne sa takie same"); co do problemu nr 2 to wyjasnienie probelmu nr 1 powinno ci odpowiedziec na pytanie nr 2 :D Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Zyziu Napisano Lipiec 19, 2018 Autor Zgłoś Udostępnij Napisano Lipiec 19, 2018 Już to załatwiłem strcmpem. Po prostu if(strcmp(lancuch1,lanc2)){...} Gdzie ja miałem głowę?? Cóż, powróciłem do DOSa po dłuuuuugiej przerwie, pewnie jeszcze wielu rzeczy nie pamiętam. Co do drugiego to dalej nie wpadłem na to ale myślę pracowicie PS. Mówiłem Ci kiedyś Piasiu że fajnie wyszedłeś na tym zdjęciu?? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Lipiec 19, 2018 Zgłoś Udostępnij Napisano Lipiec 19, 2018 Nie mowiles ps czyż moje zdjęcie nie wzbudza respektu ? :D Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Freak Napisano Lipiec 19, 2018 Zgłoś Udostępnij Napisano Lipiec 19, 2018 switch może porównywać tylko liczby, więc nie możesz napisać tak jak napisałeś :) W twoim przypadku porównujesz adresy w pamięci, a nie stringi. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Zyziu Napisano Lipiec 19, 2018 Autor Zgłoś Udostępnij Napisano Lipiec 19, 2018 Spoon napisał: switch może porównywać tylko liczby, więc nie możesz napisać tak jak napisałeś :) W twoim przypadku porównujesz adresy w pamięci, a nie stringi. i pojedyncze char-y :D :) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.