Hallo Leute,
habe ne kurze Frage an euch unszwar möchte ich wissen ob die Ausdrücke in C a==0 und !a immer zum selben Ergebnis kommen? a sei ein Integer.
Danke im Voraus
gruß harry
Ausdrücke : a==0 und !a
Re: Ausdrücke : a==0 und !a
!a ist vergleichbar mit a <= 0, denn alle Werte die 0 oder negativ sind ergeben mit dem Not-Operator (!) true.
EDIT dani93: weiterlesen!
EDIT dani93: weiterlesen!
Re: Ausdrücke : a==0 und !a
Danke für die schnelle Antwort!Architekt hat geschrieben:!a ist vergleichbar mit a <= 0, denn alle Werte die 0 oder negativ sind ergeben mit dem Not-Operator (!) true.
Sprich die Aussage "a==0 ist vergleichbar mit !a" ist nicht richtig.
Schönen Abend noch
Re: Ausdrücke : a==0 und !a
Das ist - mit Verlaub - falsch und ein sehr gutes Beispiel dafür, daß man seine Hausaufgaben am besten selber macht...
It's as simple as that. And remember, Beethoven wrote his first symphony in C.
Re: Ausdrücke : a==0 und !a
Ich dachte ernsthaft, dass er es kontrollieren und hinterfragen würde... Am besten ich editiere mal den Beitrag entsprechend.mfro hat geschrieben:Das ist - mit Verlaub - falsch und ein sehr gutes Beispiel dafür, daß man seine Hausaufgaben am besten selber macht...
edit: Oh, alte Beiträge kann man nicht editieren? Das ist jetzt doof...

- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Ausdrücke : a==0 und !a
Man kann Beiträge genau 60 Minuten lang editieren, um Rechtschreibfehler oder ähnliches zu korrigieren. Danach musst Du Dich an einen Moderator wenden, damit der Verlauf der Diskussion nicht nachträglich verändert wird.Architekt hat geschrieben:Ich dachte ernsthaft, dass er es kontrollieren und hinterfragen würde... Am besten ich editiere mal den Beitrag entsprechend.mfro hat geschrieben:Das ist - mit Verlaub - falsch und ein sehr gutes Beispiel dafür, daß man seine Hausaufgaben am besten selber macht...
edit: Oh, alte Beiträge kann man nicht editieren? Das ist jetzt doof...
Bei Primitiven (int, double, Zeiger) bedeutet !var das gleiche wie var == 0, wie var das gleiche bedeutet wie var != 0. Ein Wert ist true, wenn er nicht 0 ist. Ein Wert, der nicht nicht 0 ist, muss also 0 sein.
Bei Klassen können operator ==() und operator bool()= -Operator überladen werden und ein Vergleich mit 0 gar nicht vorgesehen sein. Ein "unbestimmtes Bool" kann beispielsweise true, false oder auch unentschieden sein. So dass if( mybool ) im else-Zweig landet, aber if( !mybool ) deswegen noch lange nicht im then-Zweig ankommt: Ganz einfach, weil mybool weder true noch false, sondern unentschieden ist.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Ausdrücke : a==0 und !a
Das ist aber auch ein schwieriges themaXin hat geschrieben:Ein Wert ist true, wenn er nicht 0 ist. Ein Wert, der nicht nicht 0 ist, muss also 0 sein.

- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Ausdrücke : a==0 und !a
Eigentlich ist es ganz einfach... aber ich erinnere mich daran, dass ich auch mehrere Tage brauchte, um das zu verinnerlichen, als ich damals C lernte.Nemo hat geschrieben:Das ist aber auch ein schwieriges themaXin hat geschrieben:Ein Wert ist true, wenn er nicht 0 ist. Ein Wert, der nicht nicht 0 ist, muss also 0 sein.
Darum beschreibe ich das im Tutorial auch entsprechend ausführlich.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.