Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么for循环只接受这个简单代码中的最后一个字符串?_C++ - Fatal编程技术网

C++ 为什么for循环只接受这个简单代码中的最后一个字符串?

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

我是c++的初学者。 我要说的是,我想打印出一些字符串的偶数索引字母和奇数索引字母

示例:字符串“Hello”应该像“Hlo el”一样打印。 但是在这段代码中,如果我选择了两个字符串,代码只接受最后一个。 我希望你能理解我。对不起,英语不好

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。这就是为什么它与上次输入相等。