gpt4 book ai didi

c - 将宏定义为行号

转载 作者:行者123 更新时间:2023-12-04 10:36:53 27 4
gpt4 key购买 nike

是否可以定义一个宏,使其具有定义它的行的值?

我知道 __LINE__ 但它扩展得太晚了。

#define MYLINE __LINE__  // line 1
printf("%d\n", MYLINE); // line 2
printf("%d\n", MYLINE); // line 3

以上没有做我想要的。我希望它打印 1 两次,但它打印 2 和 3。

最佳答案

宏就像文本替换(即 MYLINE 到处都替换为 __LINE__)。你将无法做到这一点。

不过,您可以使用常量:

const int line = __LINE__;
printf("line %d\n", line);
printf("line %d\n", line);

关于c - 将宏定义为行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60747533/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com