问题描述
输入: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;
}
解决方法
首先 cin 需要一个整数,所以它只读取第一个值的整数部分并留下其余部分。你的输入相当于这个 5 0.7 4 b,所以 b 永远不会被读取。