printf関数の挙動について
Posted: 2014年3月03日(月) 18:44
こんばんは。
C言語においての文字や文字列の扱いを勉強しようと考え、色々試していたところ不可解な現象が起きました。
このように記述したところ、実行結果が以下のようになりました。
1abc
1abc1abc
配列dに格納されている文字を表示する処理を一度しか行なっていないにも関わらず、実行結果では2回分表示されています。
一体なぜこのようなことになるのでしょうか。ご教授お願いします。
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回分表示されています。
一体なぜこのようなことになるのでしょうか。ご教授お願いします。