- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:c言語 プログラム)
C言語プログラム-文字列の先頭位置を探す関数の実装方法
このQ&Aのポイント
- C言語プログラムにおいて、文字列ringo[]と文字列mikan[]が与えられ、ringo[]中にmikan[]が含まれる場合には、その文字の先頭の位置を返す関数suikaの実装方法について教えてください。
- さらに、2つの文字列ringo[]とmikan[]を入力すると関数suikaの値を返すプログラムの作り方も教えてください。
- 例えば、ringo[]がabcdefghijklmnでmikan[]がabcの場合、先頭の位置である0を返すようなプログラムです。ただし、含まれない場合は-1を返すものとします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#137556
回答No.1
果物シリーズ。たまには書いてみるか。 #include <stdio.h> #include <string.h> int suika(const char *ringo, const char *mikan) { const char *p = strstr(ringo, mikan); return p ? (p - ringo) : -1; } int main(int argc, const char *argv[]) { const char *ringo = "abcdefghijklmn"; const char *mikan = "efghij"; printf ("%d\n", suika(ringo, mikan)); return 0; }
その他の回答 (1)
- okormazd
- ベストアンサー率50% (1224/2412)
回答No.2
「エラーが出てきて動きません・・・」 だと! エラーを作ったのは、君なんだがな。 コピペしてそのままコンパイルしたんだよね。 ちゃんとキーボードから入力すればいい。 ただし、「エラーが出てきて動きません・・・」 というようでは、キーボードからの入力もうまくできないかもしれない。 ほんとは、デバッグでエラーを直せばいいだけなんだけどな。 たぶん、何行かある先頭の空白部分をtabかなんかにすれば通るんじゃないか? #1回答者様に申し訳ないよね。
質問者
お礼
ありがとうございます。 キーボードから入力したら動きました。
お礼
ありがとうございます。 キーボードから入力したら動きました。
補足
エラーが出てきて動きません・・・ .cpp(6) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(6) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(6) : error C2065: ' const' : 定義されていない識別子です。 .cpp(6) : error C2144: 構文エラー: 'char' は';' によって先行されなければなりません。 .cpp(6) : error C2440: '初期化中' : 'const char *' から'char *' に変換できません。 1> 変換で修飾子が失われます。 .cpp(7) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(7) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(7) : error C2065: ' return' : 定義されていない識別子です。 .cpp(7) : error C2146: 構文エラー: ';' が、識別子'p' の前に必要です。 .cpp(12) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(12) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(12) : error C2065: ' const' : 定義されていない識別子です。 .cpp(12) : error C2144: 構文エラー: 'char' は';' によって先行されなければなりません。 .cpp(13) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(13) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(13) : error C2065: ' const' : 定義されていない識別子です。 .cpp(13) : error C2144: 構文エラー: 'char' は';' によって先行されなければなりません。 .cpp(15) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(15) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(15) : error C3861: ' printf': 識別子が見つかりませんでした .cpp(17) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(17) : error C3872: '0x3000': この文字を識別子で使用することはできません .cpp(17) : error C2065: ' return' : 定義されていない識別子です。 .cpp(17) : error C2143: 構文エラー: ';' が'定数' の前にありません。