为什么cout时后面加了[]无显示呢?

img

img


cout的时候strx后加了[256]就没有显示是为什么呢?请大家帮我解答一下吧。

strx的索引范围是 0 到 255, strx[256] 越界访问了,这个值是非法的,自然不会打印了
你可以打印 strx[0] 这些看看, 就会输出 s

数组strx[256] 中256是数组大小
从0到255

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 看下这篇博客,也许你就懂了,链接:加快cin、cout输入输出的小技巧
  • 以下回答来自chatgpt:

    问题解答:

    当使用 cout 输出数组时,需要使用循环遍历数组中的每个元素,并将其输出到控制台上。如果直接在 cout 后面加上中括号,只会输出数组的地址,而不是数组中的元素。下面是一个简单的例子:

    int arr[5] = {1, 2, 3, 4, 5};
    for(int i = 0; i < 5; i++) {
        std::cout << arr[i] << " ";    //遍历数组并输出每个元素
    }
    

    输出结果为:

    1 2 3 4 5
    

    至于参考资料中的内容并不是与该问题相关的,因此我并不会将其作为答案的一部分。


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