gpt4 book ai didi

c - 通过定义迭代

转载 作者:太空宇宙 更新时间:2023-11-04 05:40:46 24 4
gpt4 key购买 nike

我在 C 程序中工作,遇到了一个问题。我有这个

#define NUMBER_OF_OPTIONS 5 

#define NAME_OPTION1 "Partida Rapida"
#define NAME_OPTION2 "Elige Nivel"
#define NAME_OPTION3 "Ranking"
#define NAME_OPTION4 "Creditos"
#define NAME_OPTION5 "Exit"


for (iterator = 1; iterator <= NUMBER_OF_OPTIONS; iterator++){

menu_options[iterator-1]= NAME_OPTION + iterator
}

我希望“NAME_OPTION + 迭代器”采用相应的 #define 的值。 例如,如果变量“iterator”等于 1,我希望 menu_options[iterator-1 ] 以获取 NAME_OPTION1 的值,即“Partida Rapida”。

我怎样才能得到这个?

最佳答案

基本上,你不能。 #define宏由 C 预处理器处理,并在宏出现在代码中的任何地方进行文本替换。宏NAME_OPTION尚未定义,因此编译器应该会报错。 C 不允许将数字附加到字符串上,尤其是附加到像 NAME_OPTION. 这样的符号上。使用 const char* 的数组,然后您可以使用迭代器引用它。

关于c - 通过定义迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742507/

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