c - 如何将变量值映射到指定字符串?

标签 c

假设我将一个状态事物与一个大小为 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/

相关文章:

c - 函数更改全局变量的值是否会影响加法顺序?

将文件中的第一个字母大写

c - 如何在不包含 C 头文件的情况下使用头文件中的函数?

java - 如何标准化混合的 WAV 文件

c - 每个 fork 进程的不同输入/输出流

字符数组似乎在 memcpy() 之后增长,这是什么问题?

c++ - 什么是可重入函数?

c - 卢阿C : How would I use the Lua source code to create a Lua interpreter that will execute given blocks of Lua code?

c++ - 在运行时以 C/C++ (JIT) 加载和链接 obj 文件

c - 当向本地网络之外发送数据包时,目标 MAC 地址应该设置为什么?