我一直试图理解宏扩展,发现第二个printf发出错误.我期待第二个print语句生成与第一个相同的输出.我知道有字符串连接的功能.我发现很难理解为什么第一个print语句有效而第二个没有.
#define CAT(str1, str2) str1 str2
void main()
{
char *string_1 = "s1", *string_2 = "s2";
printf(CAT("s1", "s2"));
printf(CAT(string_1, string_2));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |