Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
void cpy(char *s, char *t) { while((*s = *t) != '\0') { s++; t++; } } void main() { char *x; char *y; x="abc"; y="zzz"; cpy(x,y); }
この機能の何が問題なのですか?*s=*t の部分は間違っていますか? 常に「アクセス違反の書き込み場所」と表示されます...
クォータで指定する文字列は定数文字列であり、読み取り専用メモリに格納されます。だから後
x = "abc"
x は読み取り専用メモリ領域を指します。そして、そこに cpy で書き込もうとすると、例外が発生します。