Warum teilt cin einen variablen Wert in zwei Teile?

Ich habe ein Problem mit cin.

int main(void)
{
    int a;
    float b;
    cin >> a >> b;
}

Wenn ich eine gleitende Zahl (wie 3.14) als Eingabe gebe, auch nichta Nochb erhalte den vollständigen Wert (3.14): die Ausgabe ist a = 3, b = 0.14.

ich weiß dascin wird die Eingabe nach Leerzeichen, Tabulator oder Return aufteilen, 'Punkt' aber nicht, oder?

Und warum funktioniert der folgende Code?

int main(void)
{
    int i=0;
    int k=0;
    float j=0;

    cin >> i >> k >> j;    // i =3, j=k=0
}

Und noch ein Problem: Welchen Nutzen bringt uns der Compiler?

Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage