Ich lerne C++, und ich verstehe Float oder Double nicht wirklich gut. Ich verstehe int, int steht für Integer, und Sie weisen ihm ein Zeichen zu, um einen Wert zu speichern. Sie können aber auch Float verwenden und auf die gleiche Weise verdoppeln. Ich verwende Code :: Blocks und hier ist ein Code, den ich aus einem Tutorial Online batched up:Warum haben "double" und "int" eine andere Lösung in meinem Code?
#include <iostream>
using namespace std;
int main()
{
double a,z;
cin >> a;
while(true)
{
if (a == -1)
break;
z += a;
cin >> a;
}
cout << "the result is: " << z << endl;
return 0;
}
Als ich das kompilieren, wird es eine leere Eingabeaufforderung angezeigt werden soll. Sie können mehrere Zahlen eingeben, und die Zahlen selbst können jede für den Code akzeptable Größe haben. Sie geben eine beliebige Zahl ein und drücken die Eingabetaste, so oft Sie möchten. Dann können Sie "-1" eingeben und der Code zeigt die Summe aller eingegebenen Zahlen an.
Ich weiß nicht, ob das nötig war, um es zu erklären, aber ich bin neu im Stapelüberlauf, also entschuldige meine Ignoranz. Meine Frage ist: wenn ich das "doppelte a, z;" zu "int a, z;" Warum bekomme ich ein anderes Ergebnis? Ich habe das getestet, und Sie können es auch. Mit dem regulären, "double" im Code kann ich 2, 2 und -1 eingeben, dies wird dann 4 anzeigen. Wenn ich jedoch den "int" in meinem Code habe, versuche ich 2 wieder zusammen zu addieren, es wird angezeigt 4309762. Warum passiert das? Ich würde gerne den Unterschied zwischen Double und Int kennen und warum die beiden Antworten so unterschiedlich sind. Vielen Dank.
Da * undefiniert Verhalten *. Du hast vergessen etwas zu initialisieren. – LogicStuff
Denken Sie daran, 'z' auf Null zu setzen – 4386427