微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决当我声明一个 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 永远不会被读取。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。