用编程搞垮道盟 发表于 2018-12-12 10:01:08

关于数据类型

#include<iostream>
using namespace std;
int main()
{
        int a,b;
        cin>>a;
        if(a%100!=0)
        {        cout<<"a%100!=0"<<endl;
                cin>>b;
                cout<<b;
        }
        else
        {        cout<<"a%100!=0"<<endl;
                cin>>a;
                cout<<a;
        }
return 0;
}
这玩意为什么只要输入的a是个小数就没办法再cin了呢(如图所示)?这个怎么处理呀???

rencaixiaomeng 发表于 2018-12-12 11:19:57

本帖最后由 rencaixiaomeng 于 2018-12-12 11:21 编辑

当a和b是int的时候,遇到小数点不会跳过而是会直接返回,第一次获取a的值的时候,把10放到a里面,第二次获取b的值的时候因为遇到的第一个就是小数点,不是数字,所以直接返回,并没有给b赋值,b的值是内存里原来的那个值,没有改变过
把输入的小数点改成空格,或者把a b声明为double变量

用编程搞垮道盟 发表于 2018-12-12 13:03:42

rencaixiaomeng 发表于 2018-12-12 11:19
当a和b是int的时候,遇到小数点不会跳过而是会直接返回,第一次获取a的值的时候,把10放到a里面,第二次获 ...

但是可不可以清空内存里的小数部分呢
页: [1]
查看完整版本: 关于数据类型