-5
Ich habe Probleme, das Verständnis dieses Programm bitte helfen:Bitte erklären Sie, wie dieses C++ Programm funktioniert?
#include <iostream>
using namespace std;
int main(){
const char* s = 5+"hellow world";
cout<<s;
return 0;
}
Es ist richtig und gebe folgende Ausgabe
Willkommen bei stackoverflow.com. Bitte nehmen Sie sich etwas Zeit, [die Hilfeseiten] (http://stackoverflow.com/help) zu lesen, besonders die Abschnitte mit dem Namen ["Welche Themen kann ich hier fragen?"] (Http://stackoverflow.com/help/) on-topic) und ["Welche Art von Fragen sollte ich vermeiden zu fragen?"] (http://stackoverflow.com/help/dont-ask). Nimm auch die [Tour] (http://stackoverflow.com/tour) und lies über [wie man gute Fragen stellt] (http://stackoverflow.com/help/how-to-ask). Zuletzt erfahren Sie, wie Sie ein [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) erstellen können. – Weaboo
'5+" Hellow Welt ";' ist Zeigerarithmetik. 'hellow world '' ist ein String-Literal, ein 'const char *' also ist das das gleiche wie 'const char * temp =" hellow world "; gefolgt von' 5 + temp; ', was dasselbe wie' ist & temp [5]; ' – user4581301
Wenn' foo' ein Zeiger ist (was hier der Fall ist), dann ist 'foo + 5' das gleiche wie' 5 + foo' und dasselbe wie 'foo [5]' was wiederum ist das gleiche wie '5 [foo]'. –