トップページ > 過去ログ > 記事閲覧
if文と文字列
名前:mantis 日時: 2008/05/22 16:05

if文で、 char *moji[10]; int i; を使って、 if(moji[i]=="mantis") { 処理 } のようなことはできるのでしょうか。 教えて下さい。 (自分でこのようなプログラムを書いて実行してみましたが、 if文で条件があっているはずなのに処理が実行されませんでした。)

Page: 1 |

Re: if文と文字列 ( No.1 )
名前:キーチック 日時:2008/05/22 16:28

C言語で変数は1個につき,1文字分が記録されます. つまり,この例の場合ですとmoji[0]='m'となります. このような場合には,strcmpなどが有効と思います. ttp://www.bohyoh.com/CandCPP/C/Library/strcmp.html などで,使い方の例が示されていますので,参考にして下さい.
Re: if文と文字列 ( No.2 )
名前:mantis 日時:2008/05/22 19:15

ありがとうございました。 strcmpで見事解決できました!
Re: if文と文字列 ( No.3 )
名前: 日時:2008/05/22 19:41

細かい突っ込みですが。。。 >この例の場合ですとmoji[0]='m'となります. char *moji[10];となっているので moji[0]はポインタ配列の0番目であって、 文字ではありません。 >mantisさん C言語での文字列の扱い方は結構重要なので、 ttp://www9.plala.or.jp/sgwr-t/c/sec07.html このあたりをみてなぜstrcmpでできるのかを しっかり復習するといいかも。

Page: 1 |