use*_*920 2 c c++ unix linux integer
我在C中编写一个程序.我有两个变量,其中一个是整数,另一个是float.我想将float除以整数,并希望得到float的结果.我正在做以下事情:
int a;
float b=0,c=0;
scanf("%d",&a);
Run Code Online (Sandbox Code Playgroud)
这里我在b上做一些计算,所以它的值随机增加,即33等.
c = b/(float)a;
printf("c = %2.f\n", c);
Run Code Online (Sandbox Code Playgroud)
问题是我将' c '作为舍入数字(整数)而不是浮点值.如何将' c '作为浮点值.
Gui*_*ier 28
对于那些来自Google搜索的人,因为问题的名称:
将float除以整数的结果是float,这是干净且安全的.例:
#include <iostream>
int main()
{
float y = 5.0f;
int x = 4;
std::cout << y/x << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
输出如预期: 1.25
您的问题在这里:
printf("c = %d\n", c);
Run Code Online (Sandbox Code Playgroud)
%d将c格式化为整数。使用%f代替。
或者,std::cout << "c = " << c << std::endl如果您愿意。