清风吹吹吹 2019-10-18 18:28 采纳率: 44.4%
浏览 219

求助CB 大佬快来!真的不懂了

//函数的重载
#include
#include
using namespace std;
int fun(int a,int b)
{
int f;
f=pow(a,3)+b;
return f;
}
float fun(float a, float b)
{
float f;
f=pow(a,5)-b;
return f;
}
int main ()
{ int a,b;
cout<<"Please input two digits:"< cin>>a>>b;
cout<<fun(a,b)<<endl;

float x,y;
cout<<"Please input two digits:"<<endl;
cin>>x>>y;
cout<<fun(x,y)<<endl;
return 0;

}


```如题 求助大佬解释这个 为什么我输入的数字和我预想的都不一样。求助 是哪一步出错了?考虑不周到还是?![图片说明](https://img-ask.csdn.net/upload/201910/18/1571394315_495794.png)![图片说明](https://img-ask.csdn.net/upload/201910/18/1571394321_397437.png)
//第一张图是我试验 如果我输入的第二个数不是整数会怎么样;
第二张图我第二次输入的数字都是小数,为什么结果不对?
而且我 第一次输入的数字和我预想结果10不一样  为什么?
求助大佬解答 谢谢!代码已经补充 抱歉。
  • 写回答

1条回答 默认 最新

  • Cin.白术 2019-10-18 19:32
    关注

    这个原理我到现在也没搞懂,但应该是C的一个诡异设定吧,就是一旦在使用cin对int型输入浮点数,会自动对这个数向下取整,并且把小数部分转移到下个输入。但如果下个输入也是int型,则cin会爆掉,并且将以后的cin输入自动转变为0。(图1、2)。
    图片说明
    图片说明
    事实也证明了scanf也有相同类型的操作(图3、4)。
    图片说明
    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)