我使用Visual C++ 2010 Express Edition編譯和運行用C++編程語言編寫的.exe文件。我正在嘗試使用C++創建一個基於循環的邏輯來詢問用戶他選擇輸入多少個條目,並提出僅限於該條目的問題。條目。例如,我想輸出「您希望輸入多少個字符?」:假設用戶將回答作爲'3'存儲在int變量'entries'中。然後我想在問題停止前繼續問這個問題3次,並繼續下一行代碼。我希望你明白,這裏是展示我在做什麼的代碼塊:Visual C++ - 運行時檢查失敗#3 - 變量未啓動
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "How many values do you need to enter?: ";
int entries;
cin >> entries;
int offset, number;
string valueName[50];
float valueValue[50];
for (offset = 0; offset < entries; offset++)
{
cout << "Enter " << number << " Value Name: ";
cin >> valueName[offset];
cout << "Enter " << valueName[offset] << "\'s value: ";
cin >> valueValue[offset];
for (number = 1; number <= entries; number++)
{
}
}
char response;
cin >> response;
return 0;
}
奇怪的是,當我運行這個簡單的程序,它不能當我輸入值的名稱被插入到的第0個元素valueName []數組。它只是暫停程序的執行,並彈出一個對話框,說「運行時檢查失敗#3 - 變量'編號'正在使用,沒有被初始化!」關於這個程序的另一個問題是,在相當一段時間裏,當我運行這個程序時,這個「運行時檢查失敗#3」框從未出現過,而當它沒有出現時,數值出錯了,並且首先從1開始,並且然後下一個循環跳到6,然後再次重複6,進入下一個循環!
請幫幫我!我已經在網上查到過這個問題,但它並不適用於我的問題類型!
是否因爲變量超出了範圍?
但是它們被聲明在for循環之外嗎?
所以請幫助我!
如果有什麼超出範圍,編譯器不開心。如果你得到運行時錯誤,這意味着你通過了編譯階段。語法上一切都是正確的。 – Mahesh 2012-02-08 19:13:23
如果您在收到該消息時進入調試器,則會使用未初始化的變量將您置於正確的位置。此外,構建應該給你一個警告:'警告C4700:未初始化的本地變量'數'使用'所有這一切都告訴你究竟是什麼以及問題在哪裏。 – 2012-02-08 20:39:09
非常感謝Mahesh和Michael Burr的見解,我很高興地告訴大家,由於您和其他人的合作,問題已經解決。非常感謝你。 – 2012-02-09 06:57:44