我想知道是否有一种方法可以在执行循环之后、进入循环之前获取整数变量的值。
例如:
#include <stdio.h>
int main(){
int x;
x = 1;
printf("%d\n", x);
while(x < 2000){
x++;
printf("%d\n", x);
}
printf("before the loop, X had a value of %d", x);
}
有没有办法得到最终的printf()
打印 x
的值其中x
进入之前持有while()
环形?或者是创建 x
副本的唯一方法在循环之前使用另一个变量?
最佳答案
在抽象上下文中,您通常有两个选择:
- “提前思考”方法:预先存储原始值,即在对原始值进行任何修改之前创建一个副本。
- “时间倒转”方式:以新值为起点,“还原”所有修改,从而达到原始值。
一般情况下,每种方法都需要权衡。
应用于您的特定简单示例,这两种方法涉及在循环之前存储变量的副本,或“撤消”循环所做的更改(通过使用您对该循环语义的深入了解)。在这种情况下,后者归结为
printf("before the loop, X had a value of %d", x - 1999);
关于c - 如何在循环执行后在循环之前获取变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40452313/