スピーカ1:それでは、プログラムを書いてみましょう 彼らは本当に2つの文字列を比較し 文字の文字。 それではとして0を比較して使用してみましょう 私たちの出発点。 しかし、ここでは最初に、その層をバックはがしてみましょう 文字列型であり、それを書き換える それは本当に、これは何のため char型の星である。 つまり、文字のアドレスであり、 中特に最初の文字 我々はより多くをしたい文字の列 一般的には文字列として知っている。 Tと同じ。 それでは、その文字列の宣言を書き直してみましょう CHARスターとして。 そして今、我々は、もはやする必要はありません ないように、Tに対するSを比較 我々は2つ​​のアドレスを比較します。 私たちは、本当に比較したい 二つの文字列自身。 これを行うには、関数を使用することができます string.hの中で宣言した。 だから私は、含まれていることを追加します 私のファイルの上に。 そして私は変更するつもりだ ここでこの行。 Tに対してSを比較するのではなく、私は私 機能攪拌COMPを呼ぶつもり、 文字列の比較、および合格 引数sとtなどの中。 私たちはと比較文字列にして延期するよ sとtが実際に等しい場合を把握 で、それを比較する方法を見つけ出すてみましょう これらの文字のための文字。 今、マニュアルに従って 文字列の比較のために、それは実際の 二つの文字列の場合は0を返すようにしよう s及びtは同じであるが指す。 これは、負の数を返すために起こっている SはTの前に来るべきか アルファベット順または正の数であれば Sは、アルファベット順に、Tの後に来る必要があります。 しかし、今のところ、我々は気に 平等について。 だから私は単にテストするつもりであれば 文字列の戻り値は、比較 sとtを渡して、0に等しい。 もしそうなら、私はそれを主張するつもりだ 二つの文字列は同じです。 しかし、私はものを作るつもりだ 他の変更も同様。 それは、そのあたりに、文字列を取得することが判明 マニュアルには、時々返すことができます よる、NULL、センチネル値 文字列の文書、手段を得るために 何か悪いことが起こった。 例えば、我々は、メモリ不足や ユーザーが何らかの形で協力していませんでした。 文字列は、一方、比較 少し壊れやすい。 あなたはそれがnullのどちらか、そのために渡すと 第一または第二引数、悪い 事が起こる可能性があります。 悪いことは通常、関与 セグメンテーションフォルト。 だから、完全にその可能性を避けるために、 私は最初のこの使用をラップするつもりだ この全体をインデントによって比較する文字列 コー​​ドのブロックと第のみ行って そのsがNULLに等しくない場合 そしてtはNULLではありません。 他の場合は、その私を構築することをラッピング 中括弧のように先に入力した さて、今回は私は触れるように sとt私は確信している場合、その 彼らはNULLではありません。 それでは、保存、コンパイルしましょう​​、と このプログラムを再実行してください。 1を比較する1ドットスラッシュを比較してください。 私は再び挨拶します。 こんにちは、またしても続く。 この時、私は確かに 同じことを入力します。