C: If-Frage mit boolschen Output

Gast #6009338
Lesenswert?

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 #6009428
Lesenswert?

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.
1
if(t_wt_austritt > t_ladepumpe_ein)
2
    tof_ladepumpe.IN = 1;
3
  else tof_ladepumpe.IN = 0;
Gast #6009496
Lesenswert?

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 #6009522
Lesenswert?

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;

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