我使用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