どこの処理が悪いのか

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ぽにょ

どこの処理が悪いのか

#1

投稿記事 by ぽにょ » 16年前

今、入力した一文字(半角文字)が配列内のデータに含まれる数を表示
入力した一文字を最初に検出した位置(先頭からの文字数)を表示
するというのをやってるんですけど
うまく表示できなくて困っています。

含まれる数はちゃんと表示できてるんですけど
入力した一文字を最初に検出した位置(先頭からの文字数)がうまく表示できません
例えば[e]と入力した場合検出した位置は先頭から2番目なので[2]とでるはずなのですが・・・・

printf("入力した一文字を最初に検出した位置は%d\n",data);
ここの処理が原因なのでしょうか?

SCI

Re:どこの処理が悪いのか

#2

投稿記事 by SCI » 16年前

「位置」なのに data ってなってます。
dataって文字そのものですよね?ここを i + 1 にすればいいんじゃないですか?
なぜ+1なのかは考えてみてください。

kazuoni

Re:どこの処理が悪いのか

#3

投稿記事 by kazuoni » 16年前

data[/url]はchar型ですので、%d(整数型)としても自分の得たい結果にはなりません。
正しいのはi+1番目です。

ぽにょ

Re:どこの処理が悪いのか

#4

投稿記事 by ぽにょ » 16年前

なるほど、そゆことだったんですね!
納得納得、ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る