私はプログラミングに非常に慣れていないため、for ループ内の変数のスコープについて疑問に思っていました。
合計する数値の量を表す数値をユーザーに入力するように求めるものを作成しようとしていました。したがって、3 を入力すると、3 つの数字が加算されます。
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
int nTarget;
cout <<"Enter the amount of numbers you wish to add: ";
cin >> nTarget;
while (nTarget < 0)
{
cout <<"Negative number detected, please enter a positive number: ";
cin >> nTarget;
}
for(int nAccum = 0, nNext, nCounter = 0; nCounter < nTarget; nCounter++)
{
cout <<"Enter the number to be added: ";
cin >> nNext;
nAccum = (nAccum + nNext)
}
cout <<"The total is " << nAccum << endl;
system("PAUSE");
return 0;
}
コードが読みにくくずさんで申し訳ありませんが、いじりました。私の問題は、「'nAccum' が ISO 'for' スコープ用に変更された場合の名前検索」というエラーが表示されることです。
これは、for ループの外ではその変数にアクセスできないということですか? それを変更できるようにする方法はありますか?
そして、元のコードが機能し、nAccum の値を取得したとしましょう。累積された値を保持するのでしょうか、それとも for ループが終了するとその値は完全に消去されるのでしょうか?
これらの本当に初心者の質問で申し訳ありませんが、他の場所で答えを見つけることができませんでした.答えることを決めた人に感謝します.