我在写P1435 回文字串的时候,先调试了一段倒置字符串的代码,如下:
#include<iostream>
#include<string>
#include<string.h>
#include<cstring>
#include<algorithm>
#include<queue>
#include<stack>
#include<ctime>
#define INF 0x7fffffff
#define int long long
#define re register
#define zhuang_bi ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
string a,b;
signed main(){
zhuang_bi
cin>>a;
int l = a.size();
for(re int i = 0;i < l;i ++){
b[l - i - 1] = a[i];
}
cout<<b;
return 0;
}
在这个过程中,我一直在逐步调试,都没有问题。倒置完了,cout<<b时却没有输出了。更玄乎的是,如果我写for(re int i = 0;i < l;i ++)cout<<b[i]<<" ",它又可以输出正确结果。
我怀疑是zhuang_bi的问题,把它注释掉了,结果还是一样……
什么邪祟?!