Почему cin разделит плавающее значение на две части?

У меня проблема с cin.

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

Когда я даю плавающее число (например, 3.14) в качестве ввода, ниa ниb получить полное значение (3.14): на выходе a = 3, b = 0.14.

я знаю этоcin разделит ввод на пробел, табуляцию или возврат, но 'точка» не будет, верно?

И почему будет работать следующий код?

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

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

И еще одна проблема, какую пользу компилятор сделает для нас?

Спасибо!'.'

Ответы на вопрос(4)

Ваш ответ на вопрос