有没有办法可以得到1/2的答案为0.5,其中分子和分母的数据类型都是C中的int。
答案 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};