Übung - C++ Primer - Zeiger



  • 4.22:
    Erläutern Sie den Unterschied zwischen den beiden folgenden while-Schleifen

    const char *cp = "hello";
    int cnt;
    while(cp) {++cnt; ++cp; } // 1
    while(*cp) {++cnt; ++cp; } // 2
    

    Der Unterschied liegt doch darin, dass in der 1. while-Schleife geprüft wird ob cp ein NULL-Zeiger ist, und bei der 2. while-Schleife wird geprüft ob der Wert des Elements auf das cp zeigt "0" ist?!

    MfG
    Stromberg

    PS: Entschuldigt meine stupiden Fragen zu den Übungen aus meinem Buch (welche in letzter Zeit öfter vorkamen), aber es gibt leider keine Lösungen zum C++ Primer (glaub höchstes dass man die kaufen kann)
    Ich kann ja in Zukunft die Fragen zu den Übungen aus dem C++ Primer immer hier reinschreiben, sodass ich nicht extra immer einen neuen Thread aufmachen muss?



  • Stromberg schrieb:

    Der Unterschied liegt doch darin, dass in der 1. while-Schleife geprüft wird ob cp ein NULL-Zeiger ist, und bei der 2. while-Schleife wird geprüft ob der Wert des Elements auf das cp zeigt "0" ist?!

    korrekt.
    <haarspalt>'0' statt "0"</haarspalt>

    Ich kann ja in Zukunft die Fragen zu den Übungen aus dem C++ Primer immer hier reinschreiben, sodass ich nicht extra immer einen neuen Thread aufmachen muss?

    ich mag lieber pro frage einen thread.



  • <haarspalt>'0' statt "0"</haarspalt>

    <haarspalt> '\0' statt '0' </haarspalt>



  • JustAnotherNoob schrieb:

    <haarspalt>'0' statt "0"</haarspalt>

    <haarspalt> '\0' statt '0' </haarspalt>

    jup. schon das zweite mal heute, daß ich das falsch mache.



  • Stromberg schrieb:

    PS: Entschuldigt meine stupiden Fragen zu den Übungen aus meinem Buch (welche in letzter Zeit öfter vorkamen), aber es gibt leider keine Lösungen zum C++ Primer (glaub höchstes dass man die kaufen kann)
    Ich kann ja in Zukunft die Fragen zu den Übungen aus dem C++ Primer immer hier reinschreiben, sodass ich nicht extra immer einen neuen Thread aufmachen muss?

    http://cppprimer.jesseolmer.com/index.php5?title=Main_Page#The_Answers

    Zwar nicht alle Lösungen, aber immerhin. 😉



  • Die Seite is perfekt. Danke

    MfG
    Stromberg


Anmelden zum Antworten