我刚刚在c ++中遇到了char数组的输入语句,但我不了解它的工作原理。
char s[100];
cin >> s + 1;
cout << s + 1;
输入:哈罗德
输出:Harold
有人可以向我解释它的工作原理吗?
答案 0 :(得分:1)
当您输入'Harold'时,将从1到6的索引(与s+1
相同)分配给定的字符。其他索引仍然包含垃圾。
该数组如下所示:{'X','H','a','r','o','l','d','X','X',........}
(这里的'X'表示垃圾)
但是事实是,当您想从s+1
(字面s[1]
)获取此数组作为输出时,它仅显示您分配的值。因此输出'Harold'
。