小编Mat*_*tPy的帖子

预处理常量数的指数

我的问题:我想获得一个带有 N_DIGITS 数字的 id,并且我希望 N_DIGITS 在预处理时可以自定义。我的 id 是一个整数,所以我想定义 10^N_DIGITS 作为这个数字的最大值。

换句话说:是否可以用宏作为指数预处理数字?

这是我的终极尝试:

#include <stdio.h>

#define N_DIGITS 5
#define MAX_N    10e ## N_DIGITS

int main()
{
    printf("%d\n", MAX_N);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,错误是error: exponent has no digits. 我不明白为什么这个原则不能实现,因为编译器知道一切,但我可​​能是错的。

无论如何我的语法不正确,我可以在这里得到一些帮助吗?

c preprocessor

5
推荐指数
1
解决办法
84
查看次数

标签 统计

c ×1

preprocessor ×1