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循环之外宣布的吗?
所以请帮帮我!
运行时告诉你实际情况,在你将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)
归档时间: |
|
查看次数: |
22370 次 |
最近记录: |