- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:どこがちがうのでしょうか?)
80文字以下の文字列をピリオドで埋めるプログラムの違い
このQ&Aのポイント
- ユーザーが入力した文字列が80文字以下の場合、ピリオドを追加して表示するプログラムがあります。しかし、二つのプログラムのうち上のプログラムは正常に機能しますが、下のプログラムはうまく機能しません。それぞれのプログラムの違いについて説明します。
- 上のプログラムでは、文字列の長さが80文字未満の場合にforループが実行され、文字列の末尾にピリオドを追加しています。しかし、下のプログラムではforループの初期値が異なり、文字列の末尾にピリオドを追加する代わりに、末尾から2番目の要素にピリオドを代入しています。
- この違いがプログラムの動作に影響しているようです。上のプログラムでは文字列の末尾にピリオドが正しく追加され、出力結果は期待通りになります。しかし、下のプログラムではピリオドが正しく代入されず、出力結果が期待通りになりません。これが二つのプログラムの違いの原因です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- chie65536(@chie65535)
- ベストアンサー率44% (8714/19792)
回答No.4
- php504
- ベストアンサー率42% (926/2160)
回答No.3
- redfox63
- ベストアンサー率71% (1325/1856)
回答No.2
関連するQ&A
このQ&Aのポイント
- 【brother HL-L2365DW】で交換してもドラム交換が表示されるトラブルについて相談します。
- Windows10で有線LAN接続されている環境で、関連するソフト・アプリは特にありません。
- 電話回線の種類に関しては特に記載はありません。
お礼
解答ありがとうございます。 int main() { char str[81]; int i; printf("文字列を入力してください。\n"); gets(str); if(strlen(str)<80) { for(i=strlen(str)+1;i<79;i++) str[i] = '.'; } printf("%s",str); } でもうまくいきませんでした。.がでてきません。