1

我已经阅读了其他类似的问题,但似乎没有一个有效......我的代码是:

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’)

该怎么办?顺便说一句 PI 已定义

4

3 回答 3

6

很可能你有线路

#define PI

某处,这导致您的代码等效于:

integer3=*(1/4)*....

这无法编译。用例如替换它

#define PI 3.1416

另请注意,(1/4)它将被评估为 0,因为整数除法返回一个整数。你可能想使用1.0/4.0.

于 2011-12-07T18:22:56.750 回答
0

您需要先声明 PI 的值。

于 2011-12-07T18:21:39.323 回答
0

是否定义了 PI?我打赌它是空的。顺便说一句,(1/4)会给你零,使你的整个表达为零。

于 2011-12-07T18:23:16.193 回答