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



Teraz jest 26 sie 2019, o 07:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 11 sie 2019, o 19:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1139
Lokalizacja: Lublin / Kraków
Pomógł: 72

Witam
W języku C występuje przedziwny operator w formie przecinka.
Spotkałem się z tym kodzie. Szukałem opisu jego działania, ale jakoś nie mogę pojąć idei.
Podobnie jak to do czego może być on przydatny w pętli FOR (o takim zastosowaniu piszą).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2019, o 20:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 123
Lokalizacja: Staszów
Pomógł: 5

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

oznacza pętlę nieskończoną, bo tak się UMÓWIONO i nic więcej.
Podtekstów, czy logiki nie ma w tym żadnej (moim zdaniem).

Chyba, że chodzi o coś innego.

PS. Przepraszam, pomyliłem się. Mowa o przecinkach, a ja ze średnikami wyskoczyłem.
No i ranga pytającego nieporówywalnie przekracza moją.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2019, o 20:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1139
Lokalizacja: Lublin / Kraków
Pomógł: 72

Cytuj:
PS. Przepraszam, pomyliłem się. Mowa o przecinkach, a ja ze średnikami wyskoczyłem.
No i ranga pytającego nieporówywalnie przekracza moją.


A nic nie szkodzi hehehe. Bez przesady z rangami, każdy może każdemu pomóc.
Średniki oczywiście znam, nawet niektóre środowiska używają nieskończonej pętli for w szkielecie tworzonego programu, programu.
A przecinek jest bardzo dziwnym operatorem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2019, o 20:42 
Offline
Nowy

Dołączył(a): 09 lip 2019
Posty: 16
Pomógł: 2

Tutaj jest dość dokładny opis z przykładami użycia.
https://en.m.wikipedia.org/wiki/Comma_operator
Potencjalnie chyba najprzydatniejszy mógłby się okazać IMHO przy Complex Return, ew. przy bardziej skomplikowanym inicjalizowaniu pętli... tyle tylko, że moim zdaniem jego użycie zdecydowanie zaciemnia program. Kiedyś może miało to sens, jak w standardzie nie dało się deklarować zmiennej w for’rze, albo nie było takich optymalizerów jak teraz... dziś chyba jego użycie jest mocno ograniczone.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2019, o 21:02 
Offline
Użytkownik

Dołączył(a): 09 lut 2017
Posty: 43
Lokalizacja: 51°03′22″N 15°45′48″E
Pomógł: 10

Ja znalazłem coś takiego, że jeśli kilka wyrażeń jest rozdzielonych przecinkiem to całość jest wyrażeniem , którego wartością jest wyrażenie najbardziej z prawej.

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

Na wyjściu dostaniemy: a = 22, b = 20

Czasem może być przydatne...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2019, o 22:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1634
Lokalizacja: Lipsko
Pomógł: 117

Ja natomiast używam czasem (właściwie to staram się od tego odzwyczaić, bo czasem można coś przeoczyć :)) przy warunkach, np.
if(x) a=1, b=12, c=0;
Po prostu klamry nie są potrzebne i wykonają się wszystkie przypisania tylko jeśli warunek spełniony. Wystarczy jednak się pomylić i jeden średnik wstawić zamiast przecinka i już to co po średniku wykona się zawsze niezależnie od stanu warunku.

_________________
http://www.sylwekkuna.com



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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