c - 需要解释 C 中 "puts"的输出

标签 c string pointers pointer-arithmetic puts

我正在寻找有关此代码片段输出的解释。我在网上搜索过,但没有找到令人满意的解释。

main()
{
     char x[10]="abcdefg" ;
     puts(&x[4]) ;
}

执行此代码后,我得到“efg”作为输出。

你能解释一下这个输出吗? 如果这个平台不适合此类问题,我们深表歉意。

最佳答案

&x[4] 是字符数组 x 的元素 4 在内存中的地址。 这意味着 puts 正在接收“efg”作为输入。

关于c - 需要解释 C 中 "puts"的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52579380/

相关文章:

Java Regex - 空格和匹配单词

java - java中replaceAll方法的特殊问题

c++ - 在 C++ 中交换指针的数据

python - 如何使用 Python.h 文件来制作 python C 扩展

谁能找到为什么解决后缀表达式的程序给出运行时错误

c++ - C/C++ 关于跟踪编程技术的问题

c - 在Linux内核中内联使用类型限定符的时机

java - 如何在 Java 中将字符串子串到第二个点 (.)?

c++ - 必须存在不相关的专业才能编译?

c - 分配给指针的结构数组。发生了什么?