A 回答 (6件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
★アドバイス
・a 文字列と b[0] 文字列を比較、
a 文字列と b[1] 文字列を比較します。
これで比較できます。
サンプル:
if ( strcmp(a,b[0]) == 0 ){
/* a 文字列と b[0] 文字列は同じ */
}
if ( strcmp(a,b[1]) == 0 ){
/* a 文字列と b[2] 文字列も同じ */
}
その他:
・a[10] の文字列は a が文字列のポインタですよね。
そして b[0]、b[1] が文字列のポインタになります。
よって a、b[0]、b[1] の文字列のポインタを使って比較できます。
・以上。分かりますか?
No.4
- 回答日時:
>char a[10] = "abcd efgh";
>char b[2][10] = {{"opq rst"},{"abcd efgh"}};
>と中身に入っています
・・・は、よいのですが、
この時は「同じ」なのでしょうか?「違う」のでしょうか?
上の例だと「違う」になって
>char a[10] = "abcd efgh";
>char b[2][10] = {{"abcd "},{"efgh"}};
だと「同じ」にしたいということでしょうか?
No.3
- 回答日時:
★配列同士の文字列の比較って何?
・もしかして文字列ポインタへの配列と二次元配列の文字列の比較かな。
つまり、
char *msg1[ 3 ] = { ←文字列ポインタへの配列
"あいうえお",
"かきくけこ",
"さしすせそ",
};
と
char msg2[ 3 ][ 11 ] = { ←二次元配列の文字列
"あいうえお",
"かきくけこ",
"さしすせそ",
};
ですか。
・この場合は、
msg1[0] と msg2[0] を strcmp で比較、
msg1[1] と msg2[1] を strcmp で比較、
msg1[2] と msg2[2] を strcmp で比較できます。
・『配列同士の文字列』の配列同士とは何?
もうちょっとデータ内容などを補足してもらえませんか?
これ以上は予想できません。
・以上。補足要求します。
この回答への補足
こちらも説明不足だったようで・・・。
どちらの配列もchar型で文字列が入っています。
これを、strcmpで中に入っている文字列が全く一緒なら
"同じ"と表示したいのです。
char a[10] = "abcd efgh";
char b[2][10] = {{"opq rst"},{"abcd efgh"}};
と中身に入っています。
No.2
- 回答日時:
出来ます。
「文字列の比較」は文字列の比較関数「strcmp」の引数に文字列のアドレスを渡すだけなので、引数の渡し方さえ間違えなければ、一次元配列だろうが二次元配列だろうが三次元配列だろうが四次元配列だろうが、次元数は関係ありません。
charの配列を文字列として扱い、配列の先頭のアドレスを扱う場合は「0番目の要素のアドレス」と記述します。
つまり
char array1[10];
char *ptr;
と定義した時
ptr=&array1[0];
と書く訳です。
この時、先頭のアドレスを参照する場合「&」と「[0]」を省略出来ます。
つまり
ptr=&array1[0];
と書くのと
ptr=array1;
と書くのは同じです。
これは、二次元配列でも同じです。
char array2[10][10];
char *ptr1;
char *ptr2;
char *ptr3;
と定義した時
ptr1=&array2[0][0];
ptr2=&array2[1][0];
ptr3=&array2[2][0];
と書けます。
先頭のアドレスを参照する場合の「&」と「[0]」の省略はここでも可能ですから
ptr1=&array2[0][0];
ptr2=&array2[1][0];
ptr3=&array2[2][0];
は
ptr1=array2[0];
ptr2=array2[1];
ptr3=array2[2];
とも書けます。
まずは「&」と「[0]」を省略しない書き方で、strcmpを呼び出すコードを書いてみましょう。
一次元配列と二次元配列での文字列の比較をする場合、strcmpにどういう引数を渡せば良いか、もう判りますよね?
No.1
- 回答日時:
何が訊きたいのかわかりません。
- 一次元配列と二次元配列を"どのように"比較するのですか?
- 配列の中身が文字列ということですか?
それともcharの一次元配列で文字列を表現しているのですか?
そのとき二次元配列の意味は?
この回答への補足
説明不足でしたね。すいません。
どちらの配列もchar型で文字列が入っています。
これを、strcmpで中に入っている文字列が全く一緒なら
"同じ"と表示したいのです。
char a[10] = "abcd efgh";
char b[2][10] = {{"opq rst"},{"abcd efgh"}};
と中身に入っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- JavaScript 二次元配列の全要素の全要素を区切り文字無しで連結する最も単純な書き方を教えてください 3 2023/06/09 12:51
- C言語・C++・C# いまc言語の標準ライブラリ文字列を勉強しているのですがいまいちわかりません。 strcmpとmemc 5 2023/07/04 15:34
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- Visual Basic(VBA) 違う文字のみ色を塗る方法がわかりません。。 G列とH列のに文字が入っています。 例えばG5とH5の文 3 2022/06/03 17:13
- 教えて!goo このサイトで専門用語で質問して専門用語が分かる回答者を期待したが回答が得られない その例として例えば 4 2023/05/06 22:29
- Excel(エクセル) 配列操作について 5 2023/04/18 07:27
- マウス・キーボード Google検索の英語キーボード 英語のキーボードの配列が元に戻らなくなりました まえの配列は左上に 1 2022/06/19 11:41
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
C# Listを使わずに2次元配列の...
-
ExcelVBAで質問です。離れた二...
-
先頭アドレスとは何ですか?
-
VBで構造体の配列を関数に渡す...
-
複数の選択範囲の行番号を個別...
-
CSVファイルのデータを2次元配...
-
C言語初心者 ポインタについて...
-
unsigned char配列への入力の仕方
-
銀行ATMの数字キーの配列
-
VB.netの配列とVB6の配列の違い
-
【速いブラインドタッチ】手を...
-
配列同士の文字列の比較
-
Functionの戻り値を2次元配列...
-
配列の参照渡しで型が一致しま...
-
配列を使わずに、変数名を動的...
-
C# 配列の変数宣言について。
-
C言語 変換指定%sについてです。
-
C++ vectorに配列をプッシュしたい
-
int型をchar型に(右詰で)代入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
C# Listを使わずに2次元配列の...
-
配列で格納したものをmsgboxで...
-
先頭アドレスとは何ですか?
-
C言語で特定列だけを抽出して配...
-
複数の選択範囲の行番号を個別...
-
配列の参照渡しで型が一致しま...
-
テキストファイルから文字列を...
-
【速いブラインドタッチ】手を...
-
C# 配列の変数宣言について。
-
unsigned char配列への入力の仕方
-
【C言語】配列の中に配列を入れ...
-
VBで構造体の配列を関数に渡す...
-
配列を含む構造体の初期値について
-
C++ vectorに配列をプッシュしたい
-
ExcelVBAで質問です。離れた二...
-
配列をEraseしてもメモリが開放...
-
Functionの戻り値を2次元配列...
-
VB.NET 構造体の配列の検索機能...
おすすめ情報