当两个变量都是如何将float除以整数?

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


eer*_*ika 5

您的问题在这里:

printf("c = %d\n", c);
Run Code Online (Sandbox Code Playgroud)

%d将c格式化为整数。使用%f代替。

或者,std::cout << "c = " << c << std::endl如果您愿意。