#18989: 請問一下為什麼會CE


easylin0126@gmail.com (林榮翼)


我的程式碼只要把"index"換成其他名子就會AC,不然就會一直CE,想請教一下大神們原因是什麼!!

#include<stdio.h>
#include<string.h>
char str1[60],str2[60],ans[60];
int pos,len,index;
void print(int left,int right){
    if(left>right)
        return;
    pos--;
    for(int i=0;i<len;i++){
        if(str1[i]==str2[pos]){
            print(i+1,right);
            print(left,i-1);
            ans[--index]=str1[i];
            return;
        }
    }
}
int main(){
    while(~scanf(" %s %s",str1,str2)){
        index=len=pos=strlen(str1);
        print(0,pos-1);
        ans[len]='\0';
        puts(ans);
    }
}

#24303: Re:請問一下為什麼會CE


yes51851823@gmail.com (wseds)


我的程式碼只要把"index"換成其他名子就會AC,不然就會一直CE,想請教一下大神們原因是什麼!!

#include
#include
char str1[60],str2[60],ans[60];
int pos,len,index;
void print(int left,int right){
    if(left>right)
        return;
    pos--;
    for(int i=0;i<len;i++){
        if(str1[i]==str2[pos]){
            print(i+1,right);
            print(left,i-1);
            ans[--index]=str1[i];
            return;
        }
    }
}
int main(){
    while(~scanf(" %s %s",str1,str2)){
        index=len=pos=strlen(str1);
        print(0,pos-1);
        ans[len]='\0';
        puts(ans);
    }
}


應該是本來就有叫做"index"的函數了,你又定義一個變數叫index,所以產生衝突。