• 締切済み

ポインタ配列

*name[] = {"ai", "ueo", "kaki", "kukeko"}; もし*name[0]がaiだったらaiをprintfというようにするにはどうすれば良いのでしょう? if(****** == "ai") { printf("%s", name[0]); } という具合にしたいんです。 違う配列に a[3]="ai"; とかにして比較して同じだったらprintfは出来るんですけど、すっきりしないので・・・。 よろしくお願いします。

みんなの回答

回答No.2

まず、複数の文字列の配列によるアクセスについてまとめてみます。 ひとつであれば、 char* a = "ai"; 複数であれば、 文字へのポインタの集合なのでchar* を配列化すればよいです。 char* name[] = {"ai","ueo","kaki","kukeko"}; printf("%s\n",name[0]); とすれば ai と表示できると思います。 次に、任意の文字列が、この集合に含まれているかの判定ですが strcmp関数を利用するのがよいと思います。 for(i = 0; i<4; i++){ if(strcmp(str,name[i]) == 0) printf("%s\n",name[i]); } こんな感じでしょうか?

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>if(****** == "ai") { if(strcmp(name[0],"ai")==0){

関連するQ&A