[i=s] 本帖最后由 Ti.定下契约 于 2015-7-28 12:21 编辑 #include <stdio.h> #include <string.h> #define NUM 81 char input(char *array,char ch,int num); int main(void) { char arr_ch[NUM],ch,*p; gets(arr_ch); ch=getchar(); p=input(arr_ch,ch,strlen(arr_ch)); printf("%p\n",p); return 0; } char input(char *array,char ch,int num) { char chs[NUM],*p; int i,j,n,x; puts("************"); fflush(stdin); gets(chs); printf("%s\n",chs); for(i=0;i<NUM;i++) { printf("%d,%c,%c\n",i,array[0],chs); if(array[0]==chs) for(j=i,n=0;n<num;j++,n++) { printf("%d,%c,%c\n",j,array[n],chs[j]); if(chs[j]!=array[n]) break; if(n==num-1) for(x=i,n=0;n<num;x++,n++) { printf("%c,%c\n",ch,chs[x]);→ → → 好像是到这里程序就停止了 if(chs[x]==ch) { p=chs[x]; printf("%c\n",*p); return p; break; } else return '\0'; } } } } 结果 array r ************ the array the array 0,a,t 1,a,h 2,a,e 3,a, 4,a,a 4,a,a 5,r,r 6,r,r 7,a,a 8,y,y r,a 后面就没了@@6!!@@6!!@@6!!