>>821
>>例えばstrcpy(q, str2);の時点で
文字列が
bufr = "12345dog6789"
bufw = "12345rabbit9"
になってる。
そのときp は 'd'の文字の場所を、q は'r'の文字の場所を指してる。
最終的にbufw = "12345rabbit6789"としたいからbufrのp + strlen("dog")の位置('6'の場所)
から最後まで(文字列"6789")を
bufwのq + strlen("rabbit")の位置('9'の場所)から上書きしなきゃいけない。

ピンと(☆∀☆) キタ━━━━━━━━━━━━━━━!!です
やっとこさっとこ理解できますた!!


あと、一歩このソースを理解できそうです。
どうしても q = bufw + (p - bufr); も>>817さんの説明理解できませんでした
>>p - bufrで p が bufrから見て何文字目かが分かります(最初の文字は0番)
と、どうして>(p - bufr)で-のかが、未だに考えていますが難しいです。

そして、もう一つ"12345rabbit6789"はアドレスの位置でしょうか?