c - C 中带索引的指针和数组

标签 c arrays pointers

我的代码中有这个

char *ch = &(string[i]);
printf(ch);

并且您想打印数组中的某些元素,但如果我将其更改为,它什么也不打印

char *ch = &(string[20]);
printf(ch);

它打印 20 及以上空间的内容,这是为什么,我该如何尝试解决这个问题?

提前致谢

最佳答案

printf on a char * 将打印所有内容,直到遇到 \0 字符,因为在 c 中,字符串是 char*s。

如果您只想打印单个字符,请执行以下操作:

printf("%c",ch[0]);

关于c - C 中带索引的指针和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10248354/

相关文章:

c - sscanf 在 C 中带有 "_"分隔符

c++ - 如何在C程序中测量时间(以毫秒为单位)

java - 如何打印数组列表中的元素

c - 使用数组和指针反转字符串

c - putc 给出段错误?

c++ - 带有字符串变量指令的 C/C++ 内联汇编程序

arrays - Perl数组迭代错误-发现错误,但为什么呢?

php - 解析错误: unexpected T_DOUBLE_ARROW => foreach array assignment

c - 如何使用指针将从 Pthread 返回的多个数组存储在另一个数组中

c - 从 char 数组中删除第一个单词并使用 C 中的指针将其打印出来