#3642: 為什麼會RE


Chunyusu (Edmond)

學校 : 國立彰化師範大學
編號 : 10705
來源 : [111.253.19.253]
最後登入時間 :
2014-10-25 23:11:52
a022. 迴文 | From: [120.107.174.108] | 發表日期 : 2010-04-15 23:13


#include<iostream>

using namespace std;

string reverse(string before_s,int count){
    int i,temp;
    
    for(i=0;i<(count/2);i++){
        temp=before_s[i];
        before_s[i]=before_s[count-1-i];
        before_s[count-1-i]=temp;   
    }
    
    return before_s;
}


main(){
 int i=0;
 string s1,s2;
 
 while(cin>>s1){
    cin>>s2;
    
    while(s1[i]!='\0'){
        i++;
    }
    
    s1=reverse(s1,i);
    
    for(int j=0;j<i;j++){
        
        if(s1[j]!=s2[j]){
            cout<<"no"<<endl;
            break;
        }
        if(j==i-1){
            cout<<"yes"<<endl;
            break;   
        }
    }
     
          
 }    
    
    return 0;
}
 
 
 
執行結果:
 
執行時發生錯誤 (SIGABRT)(6)!! 
系統呼叫 abort 函式!!
可能的原因為取用了超過string長度的位置、指標錯誤或 overflow。*** glibc detected *** free(): invalid next size (fast): 0x0804a068 ***
sh: line 1: 19997 已經終止        
 
************************************* 
 
想請各位大大幫個忙
 
在DEV試都OK
 
為什麼會RE@@? 
 
 

 
ZeroJudge Forum