我要發問了。
為什麼stpcpy(stpcpy(d,s1),s2);
顯示的不是123456789abcdef而是
6789abcdef.因為他返回的地址是
d+strlen(s)
第一次運行stpcpy(d,s1),時就把d的內容覆蓋了
第二次運行stpcpy(d,s2),時就應該也把d的內容覆蓋呀。
如果不是覆蓋那他就和strcat一樣才是呀。比如:
main()
{ char *s1="6789a",*s2="bcdef";
char d[20]="12345";
stpcpy(d,s1);getch();printf("%s",d);
stpcpy(d,s2);
printf("%s\n",d);
getchar();
return 0;
}和
main()
{ char *s1="6789a",*s2="bcdef";
char d[20]="12345";
strcpy(d,s1);getch();printf("%s",d);
strcpy(d,s2);
printf("%s\n",d);
getchar();
return 0;
}結果一樣。
雖然我很菜,但我永不言放棄。