問題CPP00405の解答例と解説 C++ Lv.2

文字列の比較(char*)(15分)


<解答例 1>
C++標準ライブラリの strcmp 関数を使った例。多くの人はこうプログラムするはず。strcmp 関数は、文字列を比較して同じだったら 0 を返すよ。


<解答例 2>
前の問題を続けて解いてきた人は、こういう風に自分で1文字ずつチェックする関数を思いつくんじゃないかな。


<解答例 3>
これでも良い。


<解答例 4> 不正解
これでは、ポインタの指し示すアドレスが同じかどうかという意味になってしまうよ。例えば下の図のように、pStr1とpStr2はそれぞれ 0x04502660 と 0x04c8d210 という異なるアドレスを指しているけど、そこに格納されている文字列は同じこともあるよね。


<解答例 5>
string クラスを使って実現する方法。これでもいいけど、ポインタのまま比較してあげた方がオーバヘッドが少ないよ。






初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録



ログイン
メールアドレス:

パスワード:



パスワード紛失

新規登録