ATNEL tech-forum
https://forum.atnel.pl/

nietypowe pytanie - operator "przecinek"
https://forum.atnel.pl/topic22485.html
Strona 1 z 1

Autor:  sq8dsr [ 11 sie 2019, o 19:28 ]
Tytuł:  nietypowe pytanie - operator "przecinek"

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ą).

Autor:  chi.cygni [ 11 sie 2019, o 20:01 ]
Tytuł:  Re: nietypowe pytanie - operator "przecinek"

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ą.

Autor:  sq8dsr [ 11 sie 2019, o 20:07 ]
Tytuł:  Re: nietypowe pytanie - operator "przecinek"

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.

Autor:  moscow [ 11 sie 2019, o 20:42 ]
Tytuł:  Re: nietypowe pytanie - operator "przecinek"

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.

Autor:  Adam12 [ 11 sie 2019, o 21:02 ]
Tytuł:  Re: nietypowe pytanie - operator "przecinek"

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...

Autor:  SylwekK [ 11 sie 2019, o 22:05 ]
Tytuł:  Re: nietypowe pytanie - operator "przecinek"

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.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/