变量在while语句中保存数据
时间:2020-03-05 18:45:29 来源:igfitidea点击:
我知道我一定会丢失一些东西,但是在while
语句中,当变量完成第一遍并进入第二遍时,变量如何保存数据?
{
int num1 = 0 ; int num2 = 0; int num3 = 0; while (num1 < 10) {cout << "enter your first number: "; cin >> num1; cout << "Enter your second number: "; cin >> num2; num1 = num1 + num2 ; cout << "Number 1 is now: " << num1 <<endl; cout << "Enter Number 3: " ; cin >> num3; num1 = num1 + num3; cout << "Number 1 is now: " << num1 << endl; num1++; };
在此代码中。变量不保存数据。我不确定自己在做什么错!
解决方案
回答
我不确定我是否理解问题。在C语言中,所有未被覆盖的数据都会被带入循环的下一个迭代中,并且可以想象C ++的工作方式大致相同。
回答
我不清楚我们要问的是什么,但是变量将在循环的每次迭代中保持其值,只要它们在循环本身之外声明即可。例如:
int a = 0; while(a < 10) { int b = 0; cout << "a: " << a << " b: " << b << "\n"; a++; b++; }
在上面的代码中,b的值输出将始终为0,因为它在循环内声明并且每次都将重新初始化,而a将保持其值并在每次迭代中递增。如果b是对象而不是int,则每次迭代都会调用其构造函数和析构函数。
回答
num1是我们遇到问题的变量吗?这行:
cin >> num1;
将num1设置为用户输入的值。因此,每次通过新输入都会覆盖在之前遍历循环中为其计算的值。
回答
我们是否理解当我们说" num1"时,每次都引用相同的变量,并且每次更改num1时都将替换先前的值吗?