char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 14:05:17

char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));
char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));

char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));
你这个申明是有问题的 s1和s2只是字符串执针,并没有分配实际的存储空间
正确的应该是:
char s1[6]="12345",s2[5]="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
strcpy的返回结果是s1的起始地址,但拷贝之后s1变成的"1234",第5个字节为'\0',所示strlen的结果为4