如何以这种方式处理字符串数组
How do I cout string array in this way
所以我决定检查这个词是否是回文。所以我做了 2 个字符串,我必须输入单词(如"Hello"
(。我不明白如何比较这 2 个字符串,而且我在将word.length
与变量i
一起使用时也出错。我该如何解决?是否有必要更改代码,或者我可以更改我的代码?
string word,s;
cin>>word;
for(int i=word.length()-1;i>=0;i--){
s[i]=word[i];
}
if(s==word)
cout<<1;
实际上,没有必要使用额外的字符串来检查给定的字符串是否是回文。您可以在循环中执行此类检查。
但是,使用您的方法,您可以编写更简单。
例如if ( word == std::string( word.rbegin(), word.rend() ) ) std::cout << 1;
至于你说的错误,当你将有符号整数 i 与调用 word.length*(( 返回的无符号整数值进行比较时,编译器似乎不像。
此外,由于字符串 s 为空,因此您不得使用下标运算符
s[i]=word[i];
你可以写
s += word[i];
或
s.push_back( word[i] );
初步的,您可以为字符串保留足够的内存,例如
s.reserve( word.size() );
相关文章:
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 是否可以在c++中处理字符串流中的各个元素
- 如何以这种方式处理字符串数组
- 在C /Fortran Interop中处理字符串的官方方法是什么?
- 如何在处理C++字符串时使用内存集
- 当我们使用字符串而不是字符数组时如何处理字符串的字符
- 在处理 C 字符串时,如何将用户的第一个输入替换为当前输入
- 为什么 string.length()=0 在使用 string[i] 处理字符串后
- Qt究竟是如何处理字符串的,或者如何生成填充数字
- 处理字符串时出现超级奇怪的错误
- STXXL处理字符串
- FSNF 无法正确处理字符串
- 未定义的引用C++队列模板处理字符串
- 与Arduino处理字符串的方式混淆
- 如何让 atoi() 函数处理字符串
- 我似乎无法让 v.push.back() 处理字符串
- 使用指针处理字符串
- 使用MMX指令处理字符串
- strcmp()可以在c++中处理字符串吗?
- 试图像字符数组一样填充一个字符串,但它只是处理字符串中的第一个字符