前提・実現したいこと
数字の文字列を逆順に表示させたいです。
発生している問題・エラーメッセージ
下記のような実行結果になってしまいます。なぜ要素数を超えた文字が出てくるのか解説していただけると有り難いです。
該当のソースコード
c
1int main(void){ 2 char number1[5]="12345"; 3 char number2; 4 int i; 5 printf("number1:%s\n",number1); 6 for(i=0;i<2;i++){ 7 number2=number1[i]; 8 number1[i]=number1[4-i]; 9 number1[4-i]=number2; 10 } 11 printf("number1:%s\n",number1); 12 return 0; 13} 14実行結果 15number1:12345 16number1:543212
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
そもそもなのですが、数字文字列は5桁固定を前提としていますがそれでよろしいのでしょうか。
現状ですと、5以外の桁数だと途中の反転用forループが破綻します。本質問の限りにおいては5桁で良いのでしょうけれど、質問の題にある「数字文字列を逆順に表示」と言う一般化した目的は果たせないです。
回答2件
あなたの回答
tips
プレビュー