c++ #define 语句 花括号后面的逗号比如 #define A(x) {.} ,#define B(y) {.} ,请问后面的那个逗号什么意义不用解释其他的就说这个逗号,

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/11 04:03:01
c++ #define 语句 花括号后面的逗号比如 #define A(x) {.} ,#define B(y) {.} ,请问后面的那个逗号什么意义不用解释其他的就说这个逗号,
xSKnP݊NZł!%]IۤR'j'JN Ɂ@KVlh`D[{5t{ιϹB֖lw=9#%v:![OquY|{{@>gH*Oi9ӨeqnC!_A3t4Ӑ[ņ7Q! x,3{3I}&#"ʼnVZ&~~%v҈)UKiȟ~eC`Q`niZ 83Ǒq\/vYpѽґ.4{╰+p6-WD@Y^(AeP@a6 &zS

c++ #define 语句 花括号后面的逗号比如 #define A(x) {.} ,#define B(y) {.} ,请问后面的那个逗号什么意义不用解释其他的就说这个逗号,
c++ #define 语句 花括号后面的逗号
比如
#define A(x) {.} ,
#define B(y) {.} ,
请问后面的那个逗号什么意义
不用解释其他的就说这个逗号,

c++ #define 语句 花括号后面的逗号比如 #define A(x) {.} ,#define B(y) {.} ,请问后面的那个逗号什么意义不用解释其他的就说这个逗号,
#define A(x) {.} ,
#define B(y) {.} ,
先要说明一下,你这种用法,可能翻所有教科书都不会找到这样的格式.
由于#define是在源程序中进行编译前替换,所以,如果替换后程序符合C语法规范,你的这两个宏就是对的,如果不符合规范,就是错的.
假设这两个宏已经定义,你可能会这样用:
A(x);
B(x);
而这两行等价于:
{.} ,;
{.} ,;
这样在程序编译时会产生错误,因为C语言中“,”是用来作为逗号表达式或表达式列表的分隔符,而你的程序中“,”出现的位置不对,所以程序编译不会通过.