C语言 带参数的#define中#和##的基本用法

it2026-06-06  7

1、单#的作用是把参数变成字符串; 2、##的作用是连接组合参数名字; 废话不多说,看个简洁的例子就明白了

#include <iostream.h> using namespace std; #define TEST0(arg) cout << arg << endl #define TEST1(arg) cout << #arg << endl #define TEST2(arg) cout << i##arg << endl #define TEST3(arg) cout << arg##t << endl #define TEST4(arg) cout << i##arg##t << endl int main() { int iTest = 10; TEST0(iTest); TEST1(iTest); TEST2(Test); TEST3(iTes); TEST4(Tes); return 0; }

打印结果

10 iTest 10 10 10

总结: #arg 展开成 “arg” i##arg 展开成 iarg arg##t 展开成 argt i##arg##t 展开成 iargt

最新回复(0)