gpt4 book ai didi

c - 使用 C 预处理器读取变量

转载 作者:行者123 更新时间:2023-12-01 12:37:42 25 4
gpt4 key购买 nike

在尝试使用 C 预处理器进行连接时,我遇到了以下问题:

#define substitute(id) var##id
int main()
{
int var0 = 999;
int var1 = 998;
int var2 = 997;
int var3 = 996;
int var4 = 995;

int i = 0;

for(i; i < 5; i++)
{
printf("Valor: %i \n", substitute(i));
}

system("PAUSE");
return 0;

}

有没有办法让预处理器能够读取“i”的值,而不是仅仅连接“vari”?

最佳答案

没有。预处理器在编译之前工作,因此在执行之前工作。

定义

#define substitute(id) var##id

将使您的循环扩展为:

 for(i; i < 5; i++)
{
printf("Valor: %i \n", vari);
}

预处理器不知道变量 i,也不应该知道。

你可能应该使用数组:

int var[5] = {999,998,997,996,995};

并通过[]访问它:

for(i; i < 5; i++)
{
printf("Valor: %i \n", var[i]);
}

关于c - 使用 C 预处理器读取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7841358/

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