C言語においての文字や文字列の扱いを勉強しようと考え、色々試していたところ不可解な現象が起きました。
void main(){
char b[] = "1abc";
char d[4];
d[0] = '1';
d[1] = 'a';
d[2] = 'b';
d[3] = 'c';
printf("%s\n",b);
printf("%s\n",d);
return 0;
}
1abc
1abc1abc
配列dに格納されている文字を表示する処理を一度しか行なっていないにも関わらず、実行結果では2回分表示されています。
一体なぜこのようなことになるのでしょうか。ご教授お願いします。