C++ 在for循环外显示句子数组 我在for循环外显示句子数组时遇到问题 int示例(字符串语句) { int i=0; 对于(i;1

C++ 在for循环外显示句子数组 我在for循环外显示句子数组时遇到问题 int示例(字符串语句) { int i=0; 对于(i;1,c++,arrays,C++,Arrays,不显示句子的原因[49]是循环运行后i为50。循环中的i++在循环迭代运行后增加i。因此,当我49岁时,它将在循环中运行,然后将i增加到50。然后它返回到条件i

不显示
句子的原因[49]
是循环运行后i为50。循环中的
i++
在循环迭代运行后增加i。因此,当我49岁时,它将在循环中运行,然后将i增加到50。然后它返回到条件
i<50
,它看到
i
现在为50,循环终止。然后当你调用
句子[i]
在循环外部,它试图显示
句子[50]
。要获取
句子中的最后一个字符,我建议以下操作之一:

cout << sentence[i - 1] << endl;

cout那
for
循环永远不会终止。发布你的真实代码。循环外的i是50。如果是49,循环将进入下一轮。而且for语句编写不正确。1总是小于50。for循环无论如何都是无意义的。
std::cout你的编辑完全改变了问题。请不要这样做。首先,它是c完全使当前答案无效。如果您有不同的问题,“提问”button哪儿也去不了。现在这个问题没有意义了。如果这段代码不起作用,是时候改变你的编译器了。我恢复了question@user3869196你不应该问后续问题,尤其是作为对原始问题的编辑。如果你想问其他问题,只需再发一篇帖子。你不知道这是最后一个元素因为示例代码正在打印句子,所以逻辑上可以假设其意图是打印整个句子。这将使
句子[49]
成为最后一个元素。
cout << sentence[i - 1] << endl;
cout << sentence.back() << endl;