Frage zu Code



  • blurry333 schrieb:

    versteh ich trotzdem nicht. Wozu "!!" ?

    !!123 = !0 = 1
    !!0 = !1 = 0

    😉



  • weil man so in einen boolean umwandelt
    !(x)
    ->
    nicht x (bei x = 0 false ansonsten true)

    da das jetzt das gegenteil ist, müssen wirs noch mal negieren
    man kann auch einfach
    bool(x) schreiben

    btw:
    void main(void)
    ist weder in C noch C++ gültig
    ->
    int main(void)
    das void in klammern lässt man in C++ weg:
    int main()

    bb



  • hmm .

    ! operator dreht doch nur die bits um hab ich gedacht ?

    aus 101001 wird !101001 = 010110

    !123 = 0 ??



  • hmm boolean aso.

    wie heißt der invertierungsoperator ?



  • blurry333 schrieb:

    hab ich gedacht ?

    Du sollst wissen, nicht denken 😉
    Was du meinst ist der Komplement-Operator "~"
    ! ist der boolsche not-Operator, der immer ein boolsches Ergebnis hat (Überladungen ausgenommen)



  • aber mein visual studio erlaubt

    void main(void)

    ich will ja nichts zurückliefern



  • blurry333 schrieb:

    aber mein visual studio erlaubt

    void main(void)

    ich will ja nichts zurückliefern

    Das muss aber jedes Programm. Das ist der Fehlercode wobei 0 gleich "kein Fehler". Brauchst auch kein return 0 oder sowas angeben, das macht er automatisch.


  • Mod

    blurry333 schrieb:

    aber mein visual studio erlaubt

    void main(void)

    ich will ja nichts zurückliefern

    Dann musst du aber damit rechnen, dass dein Programm in Zukunft auch nur in Visual Studio compilierbar sein wird. Das ist für manche Leute gut genug, für manche Leute nicht.



  • ok fehlercode.

    wann würde er denn 1 zurückliefern.

    Was für Fehler sind gemeint ?

    programmabsturz?



  • blurry333 schrieb:

    ok fehlercode.

    wann würde er denn 1 zurückliefern.

    Was für Fehler sind gemeint ?

    programmabsturz?

    Das ist dir überlassen. Das einzige was Standard ist, ist 0 zurückzugeben wenn alles okay ist. Musst es auch nicht benutzen. Der Sinn ist aber zum Beispiel folgender:

    Programme lassen sich verknüpfen indem man folgendes schreibt in der Kommandozeile:

    programmA && programmB && programmC

    Dies bedeutet das zuerst programmA ausgeführt wird und nur falls dieses 0 zurückgibt programmB und im erneutes Erfolgsfall programmC.


Anmelden zum Antworten