假设我将一个状态事物与一个大小为 n 的整数数组关联起来(在我看来,不是作为代码)。
int array[n] = {0,0,1,0,1,0,1,0,1,.......}
。 (此数组中只有 0 和 1)
在我的上下文中,状态“0”意味着“锁定”。同样,“1”表示“已解锁”。
我每次都希望打印变量,例如int array[3]
,我想将其状态输出为字符串,而不是变量的实际值。
我该怎么做?有没有一种方法可以真正将 0
替换为“锁定”,将 1
替换为“解锁”?
附: - 我不想创建另一个具有数据类型字符串的数组或简单地放置 if-else 方程。非常感谢有关宏的帮助。
最佳答案
当然,您可以使用字符串文字并根据数组槽的值决定使用哪个。
for (int i = 0; i < n; i++) {
const char *is_locked = (array[i] == 0) ? "locked" : "unlocked";
printf("status of %d: %s\n", i, is_locked);
}
关于c - 如何将变量值映射到指定字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44838465/