|
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<assert.h>
char*strcpy(char*s1,const char*s2);//_____111
int main(void)
{
//char a[7];
//char*str={NULL};
const char*s2="ssssss";
char*str=(char*)malloc(strlen(s2)+1*sizeof(char));
//char*s3=a;
//strcpy(str,2);
strcpy(str,s2);
if(str==NULL)
printf("没有分配内存\n");
free(str);
printf("%s\n",str);
return 0;
}
char*strcpy(char*s1,const char*s2)//_-----2
{
assert((s1!=NULL)&&(s2!=NULL));
char*address=s1;
while(*s2)
{
*(s1++)=*(s2++);//等同 *s1++=*s2++
}
/* while(*s1==*s2)
{
s1++;
s2++;
}*/
*s1='\0';
return address;
为什么在程序的1 和2 地方加 cosnt 编译不过,不加程序ok |
|