c++ - 如何在 C++ 中单行输入 char 数组?
问题描述
我刚刚在 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'
。
推荐阅读
- racket - DrRacket:在左括号后需要一个函数
- c++ - 如何为 MinGW makefiles 构建由 CMake 生成的项目?
- php - SQLSTATE[HY000] [1049] 未知数据库 PDO
- html - 以表格顺序布局元素的正确方法是什么?
- reactjs - 部署到 heroku 我的反应应用程序时出错
- bash - Bash 用户提示
- java - 创建一个方法 sum() 和另一个方法 numEven()
- javascript - 在javascript中使用for循环填充二维数组
- python - 撤销 Firebase 管理员凭据证书
- php - 在 PHP 中转义元字符