今天AC了不少題,困擾已久的Time limit error 也解決了,記住下次用STL容器的時候一定要清空容器。
其次是字符數組與字符串的淺談。
字符數組是以‘\0’結尾的,所以在字符數組賦值給字符串時會多出來一個’\0’。
char a[]="mynameis"
string b=a;
cout<<b<<endl;
此時輸出結果應爲mynameis,然而輸出結果爲mynameis口(空字符標誌打不出來);
所以用字符數組給string賦值時要用assign()
char a[]="mynameis"
string b;
a.assign(y,y+strlen(y)-1) //strlen會計算空字符的。
cout<<b<<endl;
字符串賦值給字符數組用循環解決。
string x;
char y[100];
for(int i=1;i<x.size();i++)
{
y[i]=x[i];
}
字符串的操作
若string a="mynameis"
此時可以對a[0,a.size() ) 內的元素操作。
若定義 string a;
而a無值對a的操作是無意義的。