C `define` 中两个数字之间有破折号是什么意思?

What does it mean when there is a dash between two numbers in C `define`?

#define BUFF_SIZE 96-48

我在 x64 中打印了 BUFF_SIZE,它打印了 48,但我不确定 96-48 的实际含义。

C 和 C++ 中的每个宏都是字面值,由编译器放置到位。所以96-48字面意思是96减48,等于48.

当您拥有代码段时:

1 #include <stdio.h>
2   
3 #define BUFF_SIZE 96-48
4  
5 int main(void) {
6     printf("%d\n", BUFF_SIZE);
7     return 0;
8 }

编译器直接将 printf("%d\n", 96-48); 放入您的代码中。