Ausgabe nachvollziehen; einfaches c++ Programm



  • Hallo,
    ich sitze schon seit einigen Minuten vor diesem Programm. Ich kann auch fast alles nachvolziehen , aber ich kann mir beim besten Willen nicht erklären wieso diese Zeile cout << static_cast<int>(s[0])<< endl; den Wert 55 ausspuckt. Weiß jemand weiter ? Meine Vermutung ist, dass int i mit string s getauscht wird.Und string s soll die Länge 0 haben ?! Aber wo kommt die 55 her ???

    #include<iostream>
    using namespace std;
    int main(void)
    {
    	int i;
    	i=73;
    	cout << static_cast<char>(i) << endl;
    	string s;
    	s="7";
    	cout << static_cast<int>(s[0])<< endl;
    	cout << 0%2 << endl;
    	cout << 1%2 << endl;
    	cout << 2%2 << endl;
    	cout << 5%2 << endl;
    	//system("Pause");
    	return 0;
    }
    


  • '7' hat Wert 55 in der Ascii-Tabelle.



  • Wenn du schreibst:

    std::cout << s[0] << std::endl;
    

    Kannst du dir dann die Ausgabe erklären?



  • Ja Danke.
    Ist mir ja jetzt schon peinlich, dass ich nicht auf die ASCII Tabelle gekommen bin 🙄


Anmelden zum Antworten