清风吹吹吹 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 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog