【发布时间】:2022-01-13 20:05:47
【问题描述】:
在这个 c++ 代码中,我从 std::cin 中获取一个字符串,并将每个 char 项传输到一个 char 数组中。
int length; // length of the string
cin >> length;
char charList[length]; // list of the characters
string sequence; // string sequence
cin >> sequence;
for (int i = 0; i < length; i++) {
charList[i] = sequence[i];
}
我不确定这是否是正确的方法,或者我是否有问题。索引字符串之外的项目是char 还是string 类型?
【问题讨论】:
-
为什么?当我使用
int时它总是有效,那么为什么它不适用于char类型? -
这段代码应该做什么?为什么要询问长度而不是使用
sequence.length()。还要记住cin >>在第一个空格处停止读取。 -
该代码应该是一个字符串,将第一个字符放入charList的第一项,其余相同。
-
长度是有问题的,因为
sequence的长度可能与长度变量不同,这可能导致未定义的行为,并且确实不需要向用户询问长度。
标签: c++ arrays string char cin