1. ホーム
  2. c

[解決済み] 変数警告が設定されているが、使用されていない

2022-02-10 10:20:48

質問

int none[5];
int ntwo[5];

(the following is in a switch statement);

    if (answer == userAnswer)
{
    printf("Correct!\n");
    score = prevScore + 1;
    prevScore = score;
}

else
{
    printf("Incorrect. The correct answer was %d\n\n", answer); 
    none[i] = number1;
    ntwo[i] = number2;
}
}
break;

(Switchステートメント終了)

変数警告 "none" set but not used"というエラーが表示されます。明らかに使用しているのですが。なぜこのようなエラーが発生するのかわかりません。参考までに、他の変数はすべて宣言されています。配列が表示されるimpの部分を取り除いただけです。

どうすればいいですか?

none が2回表示されます。

int none[5]; // declared, not set to anything

そして

none[i] = number1; // a value has been set, but it's not being used for anything

例えば、後で持っていた場合。

int foo = none[3];  // <-- the value in none[3] is being used to set foo

または

for(int i = 0; i < 5; i++)
    printf("%d\n", none[i]);   // <-- the values in none are being used by printf

などと言うことになります。 none は "used"ですが、コードそのままでは、ありますね。 "none" set but not used コンパイラが言ったとおりになりました。


での pastebinリンク あなたの問題がわかりました。

こんなこと書いてましたね。

for(i=0;i<5;i++)
{
    printf("Question [i]: none[i]+ntwo[i]");

こう書きたかったんだろう

for(i=0;i<5;i++)
{
    printf("Question [i]: ", none[i]+ntwo[i]);

現在 none が使用され、あなたのプリントは何か役に立つことをしている...。