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

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 01:23:49
c++ #define 语句 花括号后面的逗号比如 #define A(x) {.} ,#define B(y) {.} ,请问后面的那个逗号什么意义不用解释其他的就说这个逗号,

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语言中“,”是用来作为逗号表达式或表达式列表的分隔符,而你的程序中“,”出现的位置不对,所以程序编译不会通过.