Gast
#6009333
1 | |
2 | |
Kann man das auch mit einem schönen Einzeiler machen? tof_ladepumpe.IN = (Abfrage, Wert Ja, Wert Nein);
|
Anzeige
|
C: If-Frage mit boolschen Output
Gast
#6009333
Kann man das auch mit einem schönen Einzeiler machen? tof_ladepumpe.IN = (Abfrage, Wert Ja, Wert Nein);
Gast
#6009338
Helmut Andere Farbe schrieb: > if(t_wt_austritt > t_ladepumpe_ein) tof_ladepumpe.IN = 1; > else tof_ladepumpe.IN = 0; > Kann man das auch mit einem schönen Einzeiler machen? > > tof_ladepumpe.IN = (Abfrage, Wert Ja, Wert Nein); Ja, <var> = (<bedingung>) ? (<expr-true>) : (<expr-false>); Siehe: https://de.wikibooks.org/wiki/C-Programmierung:_Ausdr%C3%BCcke_und_Operatoren#Bedingung_?:
Gast
#6009345
Das nennt sich 'ternary operator': https://en.wikipedia.org/wiki/%3F:#C Helmut Andere Farbe schrieb: > if(t_wt_austritt > t_ladepumpe_ein) tof_ladepumpe.IN = 1; > else tof_ladepumpe.IN = 0; > Kann man das auch mit einem schönen Einzeiler machen? tof_ladepumpe.IN = (t_wt_austritt > t_ladepumpe_ein);
Gast
#6009368
Hi Joe F. schrieb: > tof_ladepumpe.IN = (t_wt_austritt > t_ladepumpe_ein); Da wird er nicht wissen, warum das funktioniert. Er wird nicht wissen wie ein True oder False binär kodiert wird. Karl M. schrieb: > Da wird er nicht wissen, warum das funktioniert. Warum denkt er das? Jener wird schon verstehen.
Gast
#6009409
Helmut Andere Farbe schrieb: > if(t_wt_austritt > t_ladepumpe_ein) tof_ladepumpe.IN = 1; > else tof_ladepumpe.IN = 0; Ja :
Gast
#6009428
GEKU schrieb: > Helmut Andere Farbe schrieb: >> if(t_wt_austritt > t_ladepumpe_ein) tof_ladepumpe.IN = 1; >> else tof_ladepumpe.IN = 0; > > Ja : > tof_ladepumpe.IN = (t_wt_Austritt > t_ladungspumpe_ein); Nein, C ist Case Sensitive, also auf die Schreibweise achten.
Gast
#6009496
Warum tut man sich in C so schwer, die richtigen Datentypen zu nutzen. Auch wenn sie nur pseudos sind. Da nach Boolean Gefragt wurde: tof_ladepumpe.IN = t_wt_austritt > t_ladepumpe_ein ? TRUE : FALSE;
Gast
#6009502
MaWin schrieb: > nur pseudos Genau. Warum sollte ich
schreiben, wenn
ident aber kuerzer ist. leo
Gast
#6009522
MaWin schrieb: > Da nach Boolean Gefragt wurde: > tof_ladepumpe.IN = t_wt_austritt > t_ladepumpe_ein ? TRUE : FALSE; Mal wieder ein Beitrag des Psychopathen, der seinen Namen nicht kennt, und stattdessen MaWin ins Namensfeld schreibt. Der Vergleichsoperator gibt bereits ein _Bool zurück. Deshalb ist der If-Operator redundant. tof_ladepumpe.IN = t_wt_austritt > t_ladepumpe_ein; MaWin schrieb: > Der Vergleichsoperator gibt bereits ein _Bool zurück. Nein, sondern ein int mit dem Wert 0 oder 1. Das ändert aber nichts daran, dass das if-Konstrukt weggelassen werden kann.
Gast
#6009532
aha.. der if-operator. ja ja. hmmh. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|