*的操作数必须是指针

时间:2014-09-14 08:15:42

标签: c

这是我的剧本

#include <stdio.h>
#define PI 3.14;

int main(void){
    double hasil, input;
    printf("Enter a positive number : ");
    scanf("%lf",&input);
    hasil = PI * input;
    printf("\nThe result is : %lf",hasil);
    getchar();
    return 0;
}

我得到错误*必须是指针?那是什么?我的意思是'*'符号是乘以数字....

5 个答案:

答案 0 :(得分:9)

您的PI常量包含一个分号,它会过早终止表达式;

#define PI 3.14;

...将导致表达式;

hasil = 3.14; * input;

应该只定义;

#define PI 3.14

答案 1 :(得分:1)

;删除#define,它应为#define PI 3.14

答案 2 :(得分:1)

这一行

#define PI 3.14;

应该是

#define PI 3.14

答案 3 :(得分:1)

这是因为宏

中的错误
#define PI 3.14;

应该写成

#define PI 3.14

因为宏已经以这种方式编写,所以当处理器替换它代替每个PI时,它会给你一个错误。

答案 4 :(得分:0)

将行更改为,

hasil = input * PI;