如何返回两个int数的实际分数值

时间:2016-05-29 15:33:04

标签: c casting

有没有办法可以得到1/2的答案为0.5,其中分子和分母的数据类型都是C中的int。

1 个答案:

答案 0 :(得分:2)

如果您期望一个十进制值(可能不是精确值),则必须将其转换为浮点类型。例如:

int numerator = 1, denominator = 2;
printf("%g", (double) numerator / denominator);

或者,如果要调用确切的值,则返回结构:

struct fraction
{
    int numerator;
    int denominator;
};

然后

return (struct fraction){.numerator = 1, .denominator = 2};