c++ - 为什么在 C++ 中添加两个浮点数会得到一个整数?
问题描述
我试图在 C++中计算两个浮点数6.5
的总和。7.5
我希望结果是带有小数的浮点数,例如14.000000
. 但它给出了一个答案14
,以及没有小数的整数。
有人可以解释发生了什么吗?
#include <iostream.h>
int main ()
{
float number1, number2;
sum,average;
cout<<"Enter 2 numbers";
cout<<"number1=";
cin>>number1;
cout<<"number2=";
cin>>"number2;
sum = numberl+number2;
average=sum/2;
cout << "sum=" <<sum ;
cout << "Average = " << average;
return 0;
}
输出是:
Enter 2 numbers: 6.5 7.5
Sum=14
Average=7
解决方案
float number1, number2; sum,average;
那是奇怪的时刻。似乎第二行是声明两个具有 type 的变量int
。它实际上不应该工作,但根据你的文字似乎是这样。此外,您正在使用一些非常旧的编译器。
修复很简单:要么添加float
:
float number1, number2;
float sum, average;
或用逗号替换分号:
float number1, number2, sum, average;
另外我想说的是使用double
then更好float
。
推荐阅读
- neo4j - 在 Cypher 中查找连接节点组
- security - 詹金斯添加了指向仪表板的链接不起作用
- r - ggplot2中geom_text中的部分斜体标签
- ios - 如何将方法订阅到包含此方法的类之外的按钮触摸?
- java - 使用 java 和 iText 签署 PDF 哈希
- algorithm - 了解 RANSAC 优化
- dart - 如何在 Bloc 模式中使用 SharedPreferences?
- angular - 如何使用 *ngIf 指令更改图像?
- python - Darkflow:为什么我得到有损/不完整的输出图像(我用自己的数据训练)
- c++ - 手写 LALR(1) 解析器,导航表格