Was bedeutet if(Variable)?



  • Das liegt letztlich aber daran, dass es in C keinen boolschen Datentyp gibt, d.h. selbst eine Bedingung wie (a < 10) ergibt 0 oder 1, und damit stellt sich automatisch wieder die Frage, was if (0) bzw. if (1) sein soll.



  • Bashar schrieb:

    Das liegt letztlich aber daran, dass es in C keinen boolschen Datentyp gibt, d.h. selbst eine Bedingung wie (a < 10) ergibt 0 oder 1, und damit stellt sich automatisch wieder die Frage, was if (0) bzw. if (1) sein soll.

    Nunja, die Werte 1 und 0 sind relativ leicht als boolischer Wert zu erkennen. 😉

    Bei einer Zahl die jedoch noch andere Werte haben kann, muss man wissen, dass alles außer 0 die Bedeutung von wahr hat.



  • hier liegt es dann wieder am programmierer, dafür zu sorgen, daß a nur 1 oder 0 ist.

    btw bei mir im buch stehts drin, daß alles !=0 immer wahr ist



  • Osbios schrieb:

    Nunja, die Werte 1 und 0 sind relativ leicht als boolischer Wert zu erkennen. 😉

    Ach? Aber nur, wenn man schon weiß, dass man sie so interpretieren kann, womit sich die Katze in den Schwanz beißt. In anderen Programmiersprachen kann das ganz anders aussehen.



  • Bashar schrieb:

    Das liegt letztlich aber daran, dass es in C keinen boolschen Datentyp gibt

    gibts doch. der heisst _Bool
    🙂



  • ~fricky schrieb:

    Bashar schrieb:

    Das liegt letztlich aber daran, dass es in C keinen boolschen Datentyp gibt

    gibts doch. der heisst _Bool
    🙂

    Das ist C99, ich rede von C 😉 Logische Ausdrücke sind übrigens auch in C99 vom Typ int, nicht _Bool.



  • Bashar schrieb:

    ~fricky schrieb:

    Bashar schrieb:

    Das liegt letztlich aber daran, dass es in C keinen boolschen Datentyp gibt

    gibts doch. der heisst _Bool
    🙂

    Das ist C99, ich rede von C 😉 Logische Ausdrücke sind übrigens auch in C99 vom Typ int, nicht _Bool.

    typedef enum { false = 0, true, } bool;
    😛



  • Du hast file_no_found vergessen (ich denke, du wolltest, daher das letzte Komma):

    typedef enum { false = 0, true, file_not_found} bool;
    

    🙂



  • Tachyon schrieb:

    Du hast file_no_found vergessen (ich denke, du wolltest, daher das letzte Komma

    typedef enum { false = 0, true, file_not_found} bool;
    

    das komma stört nicht. wieso überhaupt 'file_not_found'? wenn schon, dann 'probably_true' oder sowas?
    🙂



  • ~fricky schrieb:

    Tachyon schrieb:

    Du hast file_no_found vergessen (ich denke, du wolltest, daher das letzte Komma

    typedef enum { false = 0, true, file_not_found} bool;
    

    das komma stört nicht. wieso überhaupt 'file_not_found'? wenn schon, dann 'probably_true' oder sowas?
    🙂

    😃 wieso reißen eigentlcih immer diejenigen die klappe auf, die keine ahnung haben oder immer meinen was verbessern zu müssen was nicht verbesserungswürdig ist?



  • bool schrieb:

    wieso reißen eigentlcih immer diejenigen die klappe auf, die keine ahnung haben oder immer meinen was verbessern zu müssen was nicht verbesserungswürdig ist?

    meinst du mich, oder tachy, oder beide?
    🙂



  • ~fricky schrieb:

    bool schrieb:

    wieso reißen eigentlcih immer diejenigen die klappe auf, die keine ahnung haben oder immer meinen was verbessern zu müssen was nicht verbesserungswürdig ist?

    meinst du mich, oder tachy, oder beide?
    🙂

    tachy



  • bool schrieb:

    ~fricky schrieb:

    bool schrieb:

    wieso reißen eigentlcih immer diejenigen die klappe auf, die keine ahnung haben oder immer meinen was verbessern zu müssen was nicht verbesserungswürdig ist?

    meinst du mich, oder tachy, oder beide?
    🙂

    tachy

    Ach was, Du verstehst nur den tieferen Sinn nicht. file_not_found ist bei 'nem bool-Typen absolut elementar.



  • Tachyon schrieb:

    bool schrieb:

    ~fricky schrieb:

    bool schrieb:

    wieso reißen eigentlcih immer diejenigen die klappe auf, die keine ahnung haben oder immer meinen was verbessern zu müssen was nicht verbesserungswürdig ist?

    meinst du mich, oder tachy, oder beide?
    🙂

    tachy

    Ach was, Du verstehst nur den tieferen Sinn nicht. file_not_found ist bei 'nem bool-Typen absolut elementar.

    Sagt wer?
    bool -> false, true, ende im gelände



  • bool schrieb:

    [...]

    Meine Güte, bist Du verkniffen. 😃

    Siehe mal hier. Das belegt eindeutig: Ein bool ohne file_not_found geht mal gar nicht.



  • Tachyon schrieb:

    bool schrieb:

    [...]

    Meine Güte, bist Du verkniffen. 😃

    Siehe mal hier. Das belegt eindeutig: Ein bool ohne file_not_found geht mal gar nicht.

    Und wo steht jetzt, dass zum bool ein 3. Wert gehört?
    Zum bool gehört nur ja oder nein, richtig oder falsch, piano oder gitarre.



  • Tachyon schrieb:

    Siehe mal hier.

    Das ist ja nur ne Sekundärquelle 🙂
    [BTW, grep hat genau diese Rückgabewerte.]



  • Tachyon schrieb:

    Du hast file_no_found vergessen (ich denke, du wolltest, daher das letzte Komma)

    Das letzte Komma darf man aber auch einfach so schreiben. 😉

    Natürlich gehört zu einem bool file_not_found . Wo sind wir denn hier?



  • Nexus schrieb:

    Tachyon schrieb:

    Du hast file_no_found vergessen (ich denke, du wolltest, daher das letzte Komma)

    Das letzte Komma darf man aber auch einfach so schreiben. 😉

    Natürlich gehört zu einem bool file_not_found . Wo sind wir denn hier?

    Klar darf man das. Man darf bei einem malloc auch casten... 😉


Anmelden zum Antworten