c - 函数putc的使用

标签 c

我正在开发一个不是我编写的 C 程序,并将其与我的 C++ 代码集成。这个 C 程序有一个字符数组和使用 putc 函数来打印它的内容。像这样:

printf("%c\n","01"[b[i]]);

这是一个位数组,可以有 ASCII 0 或 ASCII 1(请注意不是 ASCII 48 和 49)。此命令完美打印“0”和“1”。但是,我不明白 putc 命令中“01”的用法。我也可以打印这样的内容:

    printf("%d\n",b[i]);

所以我只是好奇。谢谢。

新手

最佳答案

"01" 是一个字符串文字,就所有意图和目的而言,它是一个数组。它看起来有点奇怪……你可以这样写:

char *characters = "01";
printf("%c\n", characters[b[i]]);

或者甚至更好:

char *characters = "01";
int bit = b[i];
printf("%c\n", characters[bit]);

而且乍一看会更容易理解。

关于c - 函数putc的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5995884/

相关文章:

常量增量

python - Python(c)源代码如何编译成共享库

c - 如何在 C 中将字符追加到动态分配内存的字符串中?

Linux 内核模块中冲突的头文件

c++ - 如何使用 WriteConsoleInput/WriteConsole 将 Return/Enter 字符发送到控制台

c - 二叉搜索树指针问题

c - 尝试在 C 中实现 Luhn 算法

c - 在 c 中反转字符串会导致段错误

c - C 中的链表遇到字符串问题

c - Wiznet W5100 拔出电缆检测