出現:
系統呼叫了 abort 函式! *** stack smashing detected ***: /4195944/code_4195944.exe terminated Aborted (core dumped)
要怎麼改呢
我的寫法是
#include <iostream>
#include <string>
using namespace std;
int main(){
string st;
string st2;
int i,k;
int n=0;
while(cin>>st){
k=st.length();
for (int i=0 ;i<k ; i++){
st2[k-i-1]=st[i];
}
n=0;
for(int i=0;i<k;i++){
if (st2[i]==st[i]){
n=n+1;
}
}
if(n==k){
cout<<"yes"<<endl;
} else{
cout<<"no"<<endl;
}
}
}
後來參考 axzzreety1800@gmail.com 的程式
就順利通過
改成
#include <iostream>
#include <cstring>
using namespace std;
int main(){
string st;
int i,k;
int n=0;
while(cin>>st){
k=st.length();
n=0;
for (int i=0 ;i<k ; i++){
if(st[i] != st[k-i-1]){
n=1;
break;
}
}
if(n==1){
cout<<"no"<<endl;
}
if(n==0){
cout<<"yes"<<endl;
}
}
}