Skocz do zawartości
Pecet256

Jezyk C problem z porównywaniem zmiennych

Rekomendowane odpowiedzi

Dzień Dobry.

 

Mam dziwny problem z operatorem < w języku C.

W kodzie programu mam if ((-i-10)<=qa){....} czyli instrukcje w nawiasach powinny być wykonywane gdy -i-10 jest mniejsze od qa.

Tymczasem kod tan nie jest wykonywany gdy qa=-4 a -i=8 (czyli -i-10=-2) a qa=-4..

 

Próbowałem naprawić to już na różne sposoby, ale wciąż nie chcę działać...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Bez kodu nie powiem ci gdzie leży błąd. Jeśli i = -8, a qa = -4 to nie ma prawa tak działać. Sprawdź czy przed if na pewno masz takie wartości jak myślisz. Być może też wchodzisz do ifa, a to z kodem w środku jest coś nie tak? Taka tam zabawa w jasnowidza.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Prościej jest uzyskać pomoc gdy się stworzy minimalny kompletny kod źródłowy demonstrujący dokładnie to, z czym masz problem.

Bez tego... hm. Użyj debugera? ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Skoro po lewej stronie porównania jest -2, po prawej -4, to nie ma bata żeby warunek mniejsze lub równe został spełniony. -2 jest po prostu większe od -4.

 

Na marginesie, if nie jest funkcją, to jest instrukcja warunkowa.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...