如何在一行中输入 c++ 中的字符数组

How to input char array in c++ in a single line?

本文关键字:输入 c++ 数组 字符 一行      更新时间:2023-10-16

我刚刚在 c++ 中遇到了 char 数组的输入语句,我不明白它是如何工作的。

char s[100];
cin >> s + 1;
cout << s + 1;

输入 : 哈罗德

输出:哈罗德

谁能向我解释一下它是如何工作的?

当您输入"Harold"时,从 1 到 6 的索引(就像您对 s+1 所做的那样)将被分配给定的字符。其他指数仍然包含垃圾。这个数组看起来像这样: {'X','H','a','r','o','l','d','X','X',........} (这里的"X"表示垃圾)

但问题是,当您想从s+1(字面上s[1])获取此数组作为输出时,它仅显示您分配的值。因此输出'Harold'.