小编Vai*_*han的帖子

错误的C++分区结果

/*我目前正在学习c ++作为我核心科目的一部分*/

奇怪的是,在编写另一个长程序时,我遇到了这个实例

#include <iostream>
#include <cmath>
using namespace std;  
int main()
  {
    int a,b,res; float c;
    cin>>a;
    cin>>b;
    cin>>c;
    res=(a-b)/c;
    cout<<res;
  }
Run Code Online (Sandbox Code Playgroud)

输入:

a = 2 b = 1 c = 0.2

输出:

4

期望的输出:

我需要在起始a和结束b之间找到res,(增量c的步数)截断到整数值之前的下一个.

我尝试将(ab)定义为另一个int,仍然是相同的结果4而不是5.

但只是测试

int main()
{
    cout<<(2-1)/0.2;
}
Run Code Online (Sandbox Code Playgroud)

正确给了5.

还有一个疑问,如果我没有像上面那样定义任何变量,那么系统会为结果假设什么数据类型.

c++

1
推荐指数
1
解决办法
2009
查看次数

标签 统计

c++ ×1