C: Kommas in Codezeile?

Gast #2847290
Lesenswert?

Was sagt denn dein C-Buch dazu? Wenn du keins hast, wäre es spätesttesn 
jetzt angebracht, sich eins zu besorgen.

Solltest du allerdings schon herausgefunden haben, daß die 
Programmiersprache "C" ist, und das "," ein Operator mit dem Namen 
"Komma" ist, dann fütter doch mal die Suchmachinen deines Vertrauens mit 
den Begriffen "C Komma Operator".

Du wirst dich wundern, was man im Internet alles findet. Und das get in 
der Regel viel schneller, als sich eine Frage in einem Forum formulieren 
lässt.

Oliver
Gast #2847351
Lesenswert?

Weil es Geschmackssache ist.

Es gibt viele Möglichkeiten wie man Code schreibt, das ist in der Regel 
dem Programmierer überlassen ausser er hat sich an "Coding Guidelines" 
zu halten.
1
   a == 2 ? ret = false : ret = true;

ist dasselbe wie:
1
   if (a == 2) ret = false;
2
   else ret = true;

oder
1
   if (a == 2) {
2
      ret = false;
3
   } else {
4
      ret = true;
5
   }

Kann man schreiben wie man will ...

Grüsse,
R.
Moderator Persönliche Seite #2848178
Lesenswert?

DirkB schrieb:
> E. Müller schrieb:
>> Wird die Codezeilec = *p, *p = *q, *q = c; damit atomar?
> Nein.

Kommt drauf an, was man unter "atomar" versteht. Auf jeden Fall kann man 
bei Verwendung des Kommas zwischen den Befehlen die geschweiften 
Klammern davor und dahinter weglassen, d.h. bei

  for (...) a, b, c;

sind die Statements a, b, c allesamt in der for-Schleife.
Gast #2857095
Lesenswert?

Frank M. schrieb:
> Kommt drauf an, was man unter "atomar" versteht.

Naja, i.d.R. versteht man unter "atomar", dass der Vorgang nicht durch 
andere Vorgänge unterbrochen bzw. beeinflusst werden kann. Und das ist 
bei diesem Statement nicht der Fall. Denn ein Interupt oder Ähnliches 
kann hier problemlos zuschlagen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren