C++ 为什么for循环只接受这个简单代码中的最后一个字符串?
我是c++的初学者。 我要说的是,我想打印出一些字符串的偶数索引字母和奇数索引字母 示例:字符串“Hello”应该像“Hlo el”一样打印。 但是在这段代码中,如果我选择了两个字符串,代码只接受最后一个。 我希望你能理解我。对不起,英语不好C++ 为什么for循环只接受这个简单代码中的最后一个字符串?,c++,C++,我是c++的初学者。 我要说的是,我想打印出一些字符串的偶数索引字母和奇数索引字母 示例:字符串“Hello”应该像“Hlo el”一样打印。 但是在这段代码中,如果我选择了两个字符串,代码只接受最后一个。 我希望你能理解我。对不起,英语不好 int main() { string S; int T; cin>>T; for (int a=0;a<T;a++){ cin>>S; } for (int a
int main() {
string S;
int T;
cin>>T;
for (int a=0;a<T;a++){
cin>>S;
}
for (int a=0;a<=S.length();a+=2){
cout<<S[a];
}
for (int c=1;c<=S.length();c+=2){
cout<<S[c];
}
}
intmain(){
字符串S;
int T;
cin>>T;
对于(int a=0;a>S;
}
对于(inta=0;a,必须将所有字符串存储在一个类似于向量的容器中
#include <iostream>
#include <string>
#include <vector>
int main() {
int T;
std::cin >> T;
std::vector<std::string> Ss(T);
for (auto &S : Ss){
std::cin>>S;
}
for (const auto &S : Ss) {
for (std::size_t a=0;a<=S.length();a+=2){
std::cout<<S[a];
}
for (std::size_t c=1;c<=S.length();c+=2){
std::cout<<S[c];
}
}
}
#包括
#包括
#包括
int main(){
int T;
标准:cin>>T;
std::载体Ss(T);
用于(自动和S:Ss){
标准:cin>>S;
}
适用于(常数自动和S:Ss){
for(std::size_t a=0;a将最后2个for
循环移动到第一个循环的内部。cin>>S
覆盖S。这就是为什么它与上次输入相等。