>>515
strcpy(&s1, s2);はコンパイル時に警告が出ると思うぞ。
s1はchar配列の先頭要素のアドレス、
&s1はchar配列のアドレス、
が得られる。結果は置いておいて、それの意味するところは違う。
string.hで定義されているstrcpyのプロトタイプで求められている引数は
char配列の要素のアドレスだ。