【发布时间】:2011-12-07 18:19:23
【问题描述】:
我已经阅读过其他类似的问题,但似乎没有一个有效...... 我的代码是:
int flowRateFormula(int pipeDiameter,double velocity)
{
int integer3;
integer3=PI*(1/4)*(pow(pipeDiameter,2))*velocity;
return integer3;
}
错误是:
flowRate.c: In function ‘flowRateFormula’:
flowRate.c:38:13: error: invalid type argument of unary ‘*’ (have ‘int’)
怎么办? BTW PI 已定义
【问题讨论】:
-
是否定义了 PI?我打赌它是空的。顺便说一句,
(1/4)会给你零,使你的整个表达为零。 -
整数除法:
1/4... 改成1.0/4.0 -
@FredLarson:我认为你是对的,如果定义了 PI,它对我来说编译得很好。
-
(不相关):将
(1/4)替换为0.25或(1/4.0)。 -
你在这里混合类型,pow 返回双倍。 (1/4) int type == 0。您可能希望使用双精度数进行所有计算。
标签: c int unary-operator