你描述的不太清楚哈!
1.定义一个目标数组,建议和源一样大。
2.都从源和目标的0位置开始,如果目标里有源的字符就复制到目标且位置都加一,否则仅源加一,下一循环。
3.\0也当做一个字符处理就行,只不过当源中出现这个字符,把它复制到目标后,结束循环。
参考代码:
#include
#include
int main(){
char s1[20],s2[20];
gets(s2);
int i;
for(i=0;is1[i]=s2[i];
for(i=0;iprintf("%c",s1[i]);
return 0;
}
#include
void mstrcpy(char *t,char *s) { while ( *s ) { *t=*s; t++; s++; } *t=0; }
void main() { char s2[256],s1[256];
scanf("%s",s2); mstrcpy(s1,s2); printf("%s\n",s1);
}