char - 当我声明一个 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;
}
解决方案
起初 cin 需要一个整数,所以它只读取第一个值的整数部分并留下其余部分。你的输入相当于这个 5 0.7 4 b,所以 b 永远不会被读取。
推荐阅读
- spring-boot - 多个 Spring Kafka Consumer 一类 多组
- php - 以正确的方式在codeigniter中路由
- javascript - 选择要提交的特定表
- azure-active-directory - AAD - 所有者密码凭证流
- javascript - 如何使用 Jquery 在下拉菜单上更改 div css/scss?
- regex - 索引数据范围并与列进行比较,然后从同一列返回第一个可用选项
- python - 烧瓶 request.form [] 不提取数据
- javascript - 使用实时 API 数据的 React-table 加载速度比使用模拟数据慢
- javascript - 在 Stimulus 控制器中使用 querySelectors 检索动态元素的问题
- flutter - 在 Flutter 中使用 setState 更改变量