首页 > 解决方案 > 如何在 C++ 中单行输入 char 数组?

问题描述

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

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

输入:哈罗德

输出:哈罗德

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

标签: c++inputc++14

解决方案


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

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


推荐阅读