Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 15 sty 2025, o 22:33


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 16 cze 2013, o 12:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

Aż wstyd o takie coś pytać ale nie rozumiem dlaczego się tak dzieje.
Mam taką funkcję :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Prosta suma logiczna która się zachowuje jak iloczyn czyli AND. Tz wystarczy że któryś z wartości będzie równał się zero od razu warunek jest nie spełniony. A moim celem było, że nie ważne który z nich ma wartość powyżej 1 ma się warunek wykonać. Więc gdzie ja popełniam błąd?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 cze 2013, o 13:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Jeżyk-1 napisał(a):
A moim celem było, że nie ważne który z nich ma wartość powyżej 1 ma się warunek wykonać. Więc gdzie ja popełniam błąd?

To raczej tak będzie:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 cze 2013, o 16:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lip 2012
Posty: 306
Pomógł: 0

No teraz działa.
Dziękuję :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2013, o 23:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 kwi 2013
Posty: 38
Lokalizacja: Warszawa
Pomógł: 0

Przypadkiem błąd nie polega na błędnym użyciu operatorów logicznych zamiast arytmetycznych?

if ((del_off_PO_WCH == 0) || (TransferSpi(1) == 0) || (TransferSpi(2) == 0))

zamiast

if ((del_off_PO_WCH = 0) || (TransferSpi(1) = 0) || (TransferSpi(2) = 0))

Rozumiem że np. TransferSpi(1) to jakaś funkcja, on coś zwraca, pewnie liczbę.
Robisz operację logiczną na liczbach a powinieneś robić arytmetyczną.

_________________
auto gaz, serwis instalacji LPG, Instalacje LPG



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2013, o 23:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sty 2013
Posty: 272
Pomógł: 3

afrikanerhart napisał(a):
Przypadkiem błąd nie polega na błędnym użyciu operatorów logicznych zamiast arytmetycznych?

if ((del_off_PO_WCH == 0) || (TransferSpi(1) == 0) || (TransferSpi(2) == 0))

zamiast

if ((del_off_PO_WCH = 0) || (TransferSpi(1) = 0) || (TransferSpi(2) = 0))

Rozumiem że np. TransferSpi(1) to jakaś funkcja, on coś zwraca, pewnie liczbę.
Robisz operację logiczną na liczbach a powinieneś robić arytmetyczną.


Nie bardzo, operator = to przypisanie, koniec kropka.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO