for(i=m-1;a[i]!='\n';i++){b[k]=a[i];k++;}s=&b;}将上面循环中的循环条件 a[i]!='\n'; 改为a[i]!='\0';gets(char*);得到的字符串是以'\0'作为结束符的。