C-Anfängerfrage

So schwer kann das doch nicht sein.

= ist eben eine Zuweisung wie

a=1;
a=1+2;

usw.

== ist der Vergleich zwischen zwei Operanden, liefert in C aber auch nur einen int-Wert zurück, bei ungleich die 0 und bei gleich "nicht 0", insofern stört mich die if-Abfrage

if (rechteck == 1)

so sehr, da juckt es einen doch in den Fingern, seinen Senf hier zuzugeben :-)

Ich wäre nicht so sicher, ob der Vergleichsoperator bei jedem C-Compiler immer 1 zurückliefert, wenn der Vergleich erfolgreich war. Ich habe mal gelernt, lieber

if (rechteck)

oder

if ( ! rechteckt)

zu schreiben. In C++ wird es da leichter, da ist "bool" eingeführt worden ...

Heiko
 
Nach ANSI-C wird ein solcher Ausdruck immer mit 0 ausgewertet falls die Aussage nicht stimmt und mit 1 falls sie zutrifft. Zumindest soweit ich informiert bin.
 
Zuletzt bearbeitet:

Ähnliche Themen

C Code Hilfe!!! gesucht bei Dezimalzahl in Binärzahl for loop

Unix Webserver mit HTML Seite erstellen

Verschlüsseltes Backup-Script mit rsync

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Prozesskommunikation mit PIPES - wie funktioniert das?

Zurück
Oben