首页 > 解决方案 > 当我声明一个 int、double 和 char 时发生了什么;我为 int 输入一个 double,为一个 double 输入一个 int?似乎它把事情分开了

问题描述

输入:5.7 4 b

输出:5 0.7 4

这个输出发生了什么?我还注意到,当我使用与其声明的数据类型不匹配的输入时,我无法输入最后一个变量“char”。

#include <iostream>
#include <string>
#include <math.h>
using namespace std;

int main()
{
    int whole;
    double fractional;
    char letter;

    cin >> whole >> fractional >> letter;
    cout << whole << " " << fractional << " " << letter << endl;
return 0;
}

标签: charintegerdouble

解决方案


起初 cin 需要一个整数,所以它只读取第一个值的整数部分并留下其余部分。你的输入相当于这个 5 0.7 4 b,所以 b 永远不会被读取。


推荐阅读