为什么我们在 Arduino 中有两个 if 语句?
why do we have two if statements in arduino?
在下面的代码中,在这种情况下,我们不在"if"语句之后使用"else"语句吗?
// These constants won't change
cont int sensorPin = A0;
const int ledPin = 9;
// Variables
int sensorValue = 0;
int sensorMin = 1023;
int sensorMax = 0;
void setup() {
// Turn on LED to signal the start of the calibration period
pinMode(13, OUTPUT):
digitalWrite(13, HIGH);
while(millis() < 5000) {
sensorValue = analogRead(sensorPin);
if(sensorValue > sensorMax) {
sensorMax = sensorValue;
}
if(sensorValue < sensorMin) {
sensorMin = sensorValue;
}
}
digitalWrite(13, LOW);
}
为什么 arduino 示例会出现 2 个"如果"?请帮助我理解!
谢谢
嗯,在这个代码中很容易理解。让我们考虑一下:
我们以前从未读取过传感器,所以 max 和 min 都是未初始化的(例如,std::numeric_limits::min(( 和 max(((。
传感器读取一次。
在这里,我们需要填写两个值,而不是其中一个,因为目前它确实满足不变量。添加"else"会打破这种逻辑。
附言另外,欢迎来到StackOverflow。请阅读本网站的规则,下次尝试编写符合这些规则的问题。
这是运行最小值和最大值计算的标准算法,无需存储值。
int minimum;
int maximum;
std::cin >> minimum;
maximum = minimum;
for (int i = 0; i < 4999; ++i)
{
int value;
std::cin >> value;
if (value > maximum) maximum = value;
if (value < minimum) minimum = value;
}
发布的代码是查找给定持续时间内传感器的最小值和最大值(同样,不必存储这些值(。
请记住,传感器正在进行"真实"测量,并不理想。 实际测量值并不精确,可能会波动。
相关文章:
- 如果条件不相关,我应该更喜欢两个 if 语句而不是 if-else 语句吗?
- 简化对两个布尔值的 4 个 if/else 检查
- 有没有办法我可以在 C++ 中使用 if 语句来说明如果一个字符串不是两个名称的 eqal,它会给出一个输出,ATM i
- 为什么我们在 Arduino 中有两个 if 语句?
- 为什么我要尝试在一个if语句中调用两个fucntions,但是在第一个完成后它忽略了另一个功能?(C )
- 使用 if 语句满足两个条件
- 简写 If/Else 语句,在 IF 中有两个语句
- 在 c++ 中使用两个 if 有什么区别吗
- 函数的两个变体,中间有简单的if语句
- 防止在执行时将两个类中的两个对象转换为 bool:if(a!=b)
- 使用 IF 语句比较两个整数
- if条件下两个字符串比较的优化代码
- 试图编写一个只使用if和else-if语句对两个数字进行排序的程序
- 使用来自同一个bool c++的两个if语句的最佳实践
- 程序似乎正在执行两个 if 语句
- 在 if 语句中比较同一类的两个对象
- 如何将两个if语句合并为一个
- 为什么不能在 if 条件下比较两个字符串?
- Qt中的第一个简单if语句:两个字符的比较
- 处理两个if条件的最简单方法