在我把数组都初始化后,别的问题没有了,但还会出现段错误,就像这样
#include <stdio.h> int main(int argc, const char * argv[]) { char a[81]; char b[81]; char c[81]; char d[81]; int i,j,k=0,cnt=0; gets(a); gets(b); for(i=0;a[i]!='\0';){ for(j=0;b[j]!='\0';){ if(a[i]!=b[j]){ c[k]=a[i]; i++; k++; }else{ i++; j++; } } } //在此行添加 c[k]='\0',或者修改for条件为i<k均可。测试已经AC for(i=0;c[i]!='\0';i++){//c[i]!='\0',请你告诉我,你什么时候令c[k]='\0'了? if(c[i]>='a'&&c[i]<='z'){ c[i]=c[i]+'A'-'a'; } } for(i=0;c[i]!='\0';i++){ for(j=0,k=0;d[j]!='\0';j++){ if(c[i]==d[j]){ k++; } } if(k==0){ d[cnt]=c[i]; cnt++; } } for(i=0;i<cnt;i++){ printf("%c",d[i]); } return 0; }
[此贴子已经被作者于2016-10-8 16:22编辑过]