Visual C++ - 运行时检查失败#3 - 变量未初始化

Ram*_*rth 0 c++ loops for-loop runtime visual-c++

我使用Visual C++ 2010 Express Edition来编译和运行我用C++编程语言编写的.exe文件.我正在尝试使用C++创建一个基于循环的逻辑来询问用户他选择输入多少条目,并提出仅限于该条目的问题.的条目.例如,我想输出"你想输入多少个字符?:"说用户给出答案为'3',它存储在int变量'entries'中.然后我想在问题停止之前继续问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;
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我运行这个简单的程序时,当我输入要插入valueName []数组的第0个元素的值的名称时,它会失败.它只是暂停程序的执行,弹出一个对话框,说"运行时检查失败#3 - 变量'号'正在使用而没有被初始化!" 关于这个程序的另一个问题是,很长一段时间,当我运行这个程序时,这个"运行时检查失败#3"框从未出现过,当它没有出现时,数值出错了,首先从1开始,然后为下一个循环跳转到6,然后再次重复6为下一个循环!
请帮我!我已经在网上检查了这个问题到处都是,但它不适用于我的问题类型!
是因为变量超出了范围吗?
但他们是在for循环之外宣布的吗?

所以请帮帮我!

egg*_*box 5

运行时告诉你实际情况,在你将number声明为int但未给它赋值之后会出现以下行.

 cout << "Enter " << number << " Value Name: ";
Run Code Online (Sandbox Code Playgroud)

在您的代码中,您声明了以下内容,在C++中,这意味着给我2个整数但是值尚未定义,例如

int offset, number;
Run Code Online (Sandbox Code Playgroud)

把它改成这样的东西..

int offset = 0;
int number = 0;
Run Code Online (Sandbox Code Playgroud)