Zyziu Napisano Lipiec 19, 2018 Autor Zgłoś 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
Nemo Napisano Lipiec 19, 2018 Zgłoś 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
Zyziu Napisano Lipiec 19, 2018 Autor Zgłoś 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
Nemo Napisano Lipiec 19, 2018 Zgłoś Napisano Lipiec 19, 2018 Nie mowiles ps czyż moje zdjęcie nie wzbudza respektu ? :D Cytuj
Freak Napisano Lipiec 19, 2018 Zgłoś 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
Zyziu Napisano Lipiec 19, 2018 Autor Zgłoś 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
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.