gpt4 book ai didi

c - 如何在 C 中使用宏将循环计数器变量转换为 char?

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

我的程序中有一些字符数组。这些数组的数量是固定的,每个数组的名称以“S”字符和数字开头,如下所示:

char *s0="aaasa";
char *s1="bssbaabb";
char *s2="bbbssbaaaa";
.
.
char *sX="bcccbaabaab";
int num_arrays=X;

我决定使用宏来打印数组的内容,但没有成功(我是宏的新手)。所以我不知道我应该如何使用宏在 for 循环中打印数组的内容,如下所示:

#X(s,i) //what should be here?

for(int i=0;i<X;i++){
printf("s%d: %s \n",i, X(s,i) );
}

谢谢。

最佳答案

答案是你不能那样做

很简单,因为宏是经过编译的,不能以您的方式与 for 循环一起使用。

使用指向字符串的指针数组,例如:

char* pointers[] = {
"String1",
"String2",
"...."
};

printf 的用法(在 for 循环中使用 sizeof 来确定数组中要打印的元素数):

for (int i = 0; i < sizeof(pointers) / sizeof(pointers[0]); i++) {
printf("s%d: %s \n", i, pointers[i]);
}

关于c - 如何在 C 中使用宏将循环计数器变量转换为 char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42409792/

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