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



Teraz jest 8 lut 2025, o 21:24


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 20 lip 2014, o 12:52 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Hej!

Od pewnego czasu mam przyjemność bawić się bibliotekami do pewnego projektu. Ostatnio przeglądając kod napotkałem się na takiego if'a:

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


Panowie, WTF?!? Nigdy nie spotkałem się z takim if'em. Zmienne a i b to jakieś unsigned int'y. Domniemywam że jest to takie coś że jeśli A lub B ale to wtedy by to wyglądało tak:

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


Jak to odczytywać? Nie jest to żadne makro ani nic z tych rzeczy. Normalnie wpisane i kompilator nie wyrzuca błędu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lip 2014, o 14:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Jest to faktycznie nietypowy zapis i w żadnym stopniu nie odpowiada operatorowi logicznej alternatywy, prędzej "if (b)".
Ze względu na występujący operator przecinka, który ma wiązanie lewostronne to zwracanym oraz testowanym wyrażeniem jest właśnie samo "b" z całkowitym pominięciem "a".
Oczywiście nie jest tak do końca, bo w przypadku wyrażenia, a nie zmiennej, zostaje ono wykonane, ale mimo wszystko nie wpływa na wynik testowania.

Więcej na temat tego operatora tutaj.


Autor postu otrzymał pochwałę


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: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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