匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

1349617960 C言語で、以下のプログラムを作っているのですが、画像の31行目のところで"subscripted value is neither array nor pointer"というエラーが出ます。意味は確認したのですがどうすればいいのかよく分かりません。分る方に教えていただきたいです。

---(プログラム概要)---
数字当てゲーム
4桁の数字(ただし,各桁の数字はすべて異なる)を答えとして,define文で指定しておく.
ユーザに4桁の整数を入力させ,入力された数字が答えと同じ,あるいは10回チャレンジすれば終了.
ただしヒントとして,入力された数字と答えを比べ,数字があっていればその個数とF,数字も位もあっていればその個数とTを出力する.
(例)答えが1234の場合
9876と入力されたら,数字があっていないので0F0Tと出力
4367と入力されたら,3,4の2つの数字があっているので2F0Tと出力
5637と入力されたら,3は数字も位もあっているので0F1Tと出力
1274と入力されたら,1,2,4は数字も位もあっているので0F3Tと出力

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/10/07 22:52:40
  • 終了:2012/10/14 22:55:02

回答(4件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/10/07 22:59:42スマートフォンから投稿

#define ANS "1234" と定義し直す。

匿名回答2号 No.2

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/10/08 07:52:02

ANSを数値で宣言しているのに ANS[kch]とかやってるからですね。

ANSを文字列で宣言するか
ANS[kch]というような使い方をせず 違うやり方でチェックするかのどちからでしょう。

ま、文字列で宣言させるのが一番ラクだと思いますが。

匿名質問者

質問者から

匿名質問者2012/10/08 15:59:49

回答ありがとうございます。初歩的なミスですね・・・精進します。
もう一つ質問したいのですが、画像18行目のgetsに問題があるようです。
コンパイラすると”the `gets' function is dangerous and should not be used.”と出るのですが、これはどうしてでしょうか?どうすればいいのでしょうか。

匿名回答1号 No.3

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/10/08 16:14:51スマートフォンから投稿

gets は使わないほうが良いと言う警告です。

fgets(dgt,15,stdin);

と書き直す。

匿名回答3号 No.4

匿名回答3号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/10/08 17:35:50

画像18行目のgetsに問題があるようです。
コンパイラすると”the `gets' function is dangerous and should not be used.”と出るのですが、これはどうしてでしょうか?

gets()は仕様的にバッファーオーバーランを起こす関数ですので使用すべきではないということです。
面倒ですがfgets()を使うように書き換えてください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません