gpt4 book ai didi

concatenation - 使用 C 预处理器连接以指数表示法获取数字

转载 作者:行者123 更新时间:2023-12-04 08:12:46 26 4
gpt4 key购买 nike

为什么代码:

#define EXPONENT(num, exp) num ## e ## exp
EXPONENT(1,1)
EXPONENT(1,-1)
EXPONENT(1,+1)

预处理后变为:
1e1
1e- 1
1e+ 1

而不是进入
1e1
1e-1
1e+1

?
我怀疑这可能是因为 -1,+1 被解析为两个标记 (?)。但是,在那种情况下如何获得后者的结果呢?

最佳答案

你是对的, -1+1 是两个预处理标记,因此只有第一个被粘贴到 e

为了我,

#define EXPO(num, sign, ex) num ## e ## sign ## ex

EXPO(1,,1)
EXPO(1,-,1)
EXPO(1,+,1)

使用 gcc-4.5.1。

关于concatenation - 使用 C 预处理器连接以指数表示法获取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11453117/

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