広告スペース(バナー)
🔧C言語 レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 43 / 68

文字列の反転と回文判定

このレッスンでは、C言語で文字列が回文かどうかを判定する方法を学び、文字列操作の基本を理解することを目標にします。「C言語 回文判定 実装」で調べている方向けです。

前から読んでも後ろから読んでも同じ文字列を回文と呼びます。C言語には文字列を反転する専用関数がないため、先頭と末尾から中央に向かって1文字ずつ比較する方法がよく使われます。

サンプルコードでは、isPalindrome()関数の中でs[i](先頭側)とs[len - 1 - i](末尾側)を比較しながら、文字列の中央に向かってループしています。1文字でも異なれば回文ではないと判定して即座に返している点にも注目してみましょう。

初心者がよくつまずくのが、文字列を反転するのではなく、直接前後から比較する発想です。反転した新しい文字列を作らなくても、添字の計算だけで判定できるという、メモリを節約する考え方に慣れが必要です。

文字列反転や回文判定は実務で直接使う場面は少ないものの、文字列を扱う考え方の練習として、プログラミング学習では定番の題材です。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではC言語を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
文字列が回文になっているかを判定する、簡単な言葉遊びゲームが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)