RT,我在做题的时候写了如下代码:
string _s;
fo(i,0,rest-1){
int start=i*(block_len+1);
fo(j,0,block_len){
_s[i+L[id]*j]=s[start+j];
}
}
fo(i,0,L[id]-rest-1){
int start=rest*(block_len+1)+i*block_len;
fo(j,0,block_len-1){
_s[i+rest+L[id]*j]=s[start+j];
}
}
s=_s;
cout<<s<<endl;
总的来说就是新建了一个字符串 _s 然后不断地对它的某一位赋值,最后把得到的_s赋值给原来的字符串 s,可是这样写在本地运行的时候没有输出,加上一句cout<<_s也没有输出,如果把cout改成用for循环把_s的每一位都输出的话就又得到了正确的结果……
萌新十分疑惑,求各位好心的巨佬解释一下这是为什么以及正确的写法该是怎样QAQ
非常感谢您的到来qwq