2016-05-13 10 views
-5

Der Versuch, eine Variable int in C++ zu drucken, führt zum Absturz. Warum? Im Versuch, die gleichen wie in den Beispielen des printf Artikels in cplusplus.comDer Versuch, eine Variable int in C++ zu drucken, führt zum Absturz. Warum?

#include <iostream> 
#include <stdio.h> 

using namespace std; 

int main(){ 

int n; 
scanf("%i", &n); 
printf("%n is a multiple of 11.", n); 

return 0; 
} 
+5

Taking ein paar Sekunden, um die Dokumentation zu '% n' zu erhalten: * gibt die Anzahl der Zeichen zurück, die bisher von diesem Aufruf der Funktion geschrieben wurden. Das Ergebnis wird auf den Wert geschrieben, auf den das Argument zeigt. * In jedem Fall hätte Ihr [Compiler] (http://coliru.stacked-crooked.com/a/1bf3a72650a70c93) Ihnen etwas sagen können. – chris

+2

C++ hat iostreams, um diese Art von Fehlern zu verhindern: 'if (std :: cin >> n) std :: cout << n <<" ist ein Vielfaches von 11. \ n ";' (Sie müssen ' #include 'über Ihrer Datei). Viele Online-Erklärungen, z.B. [zufälliges Google-Ergebnis] (http://www.cprogramming.com/tutorial/c++-iostreams.html). –

Antwort

3

zu tun Wenn Sie den Wert von n drucken mögen, sollen Sie wahrscheinlich %d or %i verwenden:

printf("%d is a multiple of 11.", n);