关于#c语言#的问题:为什么使用指针输出一个字符串数组会失败

为什么使用指针输出一个字符串数组会失败,并且只是输出一个“?”


img

  • &arr[100] 这里 是把 arr[100] 这个数的地址 赋值给了 ath 字符指针; 而 arr[100] 这是个未知数, 所以你用 指针 取这个未知数,当然是输出有问题的。
  • 你可以把 arr 数组直接 赋值给这个ath 字符指针,或者 arr数组中任意一个有效的字符 赋值给 ath 字符指针。
ath = arr;
ath = &arr[1];

如有帮助,欢迎点赞+采纳哈!

简单来说,ath = &arr[100];这个已经越界了,指向了一个未知数,因此导致输出一个意想不到的内容。

第7行:ath = &arr[100]; 修改为:ath = arr; 因为数组名 arr 就是首地址。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^