带参宏的问题
#define ADD(A, B) printf(#A " + " #B " = %d\n", ((A)+(B)))这一句中为什么可以这样写:#A " + " #B " = %d\n"。 #A不是字符串吗,#A和字符串" + "直接相连为什么不报错 井号 # 将 A 和 B 变成了字符串 zltzlt 发表于 2020-7-28 17:56
井号 # 将 A 和 B 变成了字符串
#A是字符串,和字符串" + "直接连写为什么表示字符串的连接 Unicorn# 发表于 2020-7-28 17:57
#A是字符串,和字符串" + "直接连写为什么表示字符串的连接
我也不太清楚,中间加上加号拼接反而会报错{:10_250:} zltzlt 发表于 2020-7-28 18:00
我也不太清楚,中间加上加号拼接反而会报错
char* a = "123""234";
printf("123""234""\n");
printf("%s", a);
居然可以这样...奇怪的语法增加了 Unicorn# 发表于 2020-7-28 18:05
居然可以这样...奇怪的语法增加了
{:10_257:} 还真的是奇怪的语法知识,以前真的没注意过,还是看书不仔细啊。
下图《C Primer Plus 第6版中文版》P322
下图《C程序设计语言 第二版》P38
下图是我自己做了个测试
页:
[1]