char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,
題目:
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
添加新評論