C中的宏定义错误?

Kev*_*n Q 3 c macros c-preprocessor

#define SOUND_SPEED 0.034;    
int rtt; //round trip time in microsecond
double distance;
distance = (double)(rtt*SOUND_SPEED)/2;
Run Code Online (Sandbox Code Playgroud)

它抱怨错误:'/'标记之前的预期表达.是不是因为我不能使用宏来定义小数或什么?

cni*_*tar 8

删掉分号:

#define SOUND_SPEED 0.034; 
                         ^
Run Code Online (Sandbox Code Playgroud)

如果保留它,生成的代码将如下所示:

distance = (double)(rtt*SOUND_SPEED;)/2;
                                   ^
Run Code Online (Sandbox Code Playgroud)