相关疑难解决方法(0)

C预处理器可以执行整数运算吗?

正如问题所说,C预处理器能够做到吗?

例如:

#define PI 3.1416
#define OP PI/100
#define OP2 PI%100
Run Code Online (Sandbox Code Playgroud)

OP和/或OP2在预处理阶段是否有任何计算方法?

c-preprocessor

22
推荐指数
6
解决办法
6万
查看次数

C宏:如何连接一个名称和一个由数学运算产生的数字(也由预处理器完成)?

请考虑以下代码:

1. #define SUFFIX 5-5
2. #define XFUNC_0( x )  (100 * x)
3. #define XFUNC_1( x )  (101 * x)
4. #define XFUNC_2( x )  (102 * x)
5. #define CATX( x, y )  x##y
6. #define CAT( x, y )   CATX( x, y )
7. #define XFUNC         CAT( XFUNC_, SUFFIX )
8. #if     XFUNC(2) == 200
...... etc
N. #endif
Run Code Online (Sandbox Code Playgroud)

这段代码似乎没有用,这是因为它只是我真实代码的一部分,简化了.问题是: - 如何说服预处理器先执行5-5(只是数学运算的一个例子),并将结果(在本例中为零)连接到XFUNC_?因为它现在不起作用,它告诉我"预处理器指令后面的意外令牌 - 期望换行",在第8行.更新:看来是正确的,上面的代码将是简单的代码替换结果XFUNC_5-5.但在这种情况下,我还有另一个问题: - 确实存在一种方法来获得像宏这样的函数或接受输入(参数)表达并输出数字的东西; 我想也许类似于你放置连续数字的向量:你把索引(这可能是一个完整的表达)你得到的结果是相同的,除了现在不是表达而是"纯"数字然后可以连接

c macros concatenation

0
推荐指数
1
解决办法
802
查看次数

标签 统计

c ×1

c-preprocessor ×1

concatenation ×1

macros ×1