c - 如何使用 printf 从字符串数组中打印单个字符?

标签 c arrays pointers

假设我有

char *names[] = { "Tom", "Jerry" };

我想使用 printf 打印“Jerry”中的“e”。我的第一直觉是

printf("%c\n", *names[5]);

但是当我应用我一直在学习的关于指针的知识时,我意识到这完全是垃圾代码,因为 5 指的是 names 中不存在的第五个指针,而不是“Jerry”中的“e” ”。 names 中包含的指针将永远只引用其各自字符串中第一个 字符的内存地址。

看来我真正需要做的是在names[1] 中添加一个字节来指向,并打印“Jerry”中的“e”。但我不确定如何执行此操作,或者在 C 中是否允许这样做。

实现此目标的最佳方法是什么?提前谢谢你。

最佳答案

我想你要找的是 printf("%c\n", names[1][1]);

关于c - 如何使用 printf 从字符串数组中打印单个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26217464/

相关文章:

c++ - 返回指向对象数组的指针并将其分配给指针

c++ - 了解 C++ 中的指针初始化行为

arrays - 在 swift 中创建一个多维数组并使用数据填充 3 个 TableView

javascript - 在 React 中通过数组索引 onClick 递增

c - stat() 返回错误

c++ - 从 RISC-V 裸机程序调用 printf 系统调用时使用 C++ 模拟器失败

python - NumPy map 计算取决于索引

C:两种数组初始化之间的差异

php - 有人可以将它移植到 C 吗?

c++ - malloced 数组和新数组之间有区别吗