知道了,谢谢。
by Acfboy @ 2021-08-15 07:17:25
因为 **define** 是 **直接替换**,所以不打括号会出现一些奇怪的错误.
```cpp
#include<bits/stdc++.h>
#define sum 1 + 1
int main(){
std::cout << sum * 4;
}
```
看上去是**8**,实际上是**5**
by Saka_Noa @ 2021-08-15 08:21:24
我之前另一道题就是#define不加括号调了两天(痛哭流涕
by Aranea晨曦 @ 2022-10-19 21:55:06
```cpp
#define Y(k) s[k]+f[now][k]
#define slope(i,j) (long double)(Y(j)-Y(i))/(X(j)-X(i))
```
死 亡 现 场
by Aranea晨曦 @ 2022-10-19 21:55:36