如果在"if"语句中使用模量会发生什么?
What happens if modulus is used in an 'if' statement?
我想知道如果我们以这种方式使用模数会发生什么:
if (input%2)
more code here
我知道模数返回余数值,在这种情况下,输入后的余数除以2。但是在这种情况下,是什么决定了代码是否通过if语句运行呢?
在布尔型上下文中,表达式的结果为零被解释为假值,任何非零的结果被解释为真值。
因此,在这种情况下,如果模数运算符的结果不为0,则if
表达式的计算结果为true
。
#include <iostream>
#include <string>
int main(){
if(3%2){
printf("True");
}else{
printf("False");
}
printf("n");
if(2%2){
printf("True");
}else{
printf("False");
}
}
运行此命令打印:
True
False
正如@Sam所描述的,7%2
表达式的结果是1
,因此条件语句打印True
(或者在if
语句中执行其他操作)。
除此之外,条件语句的任何非零值都将允许您"进入"if
语句:
if(13%5){
printf("True");
}else{
printf("False");
}
打印:
True
相关文章:
- 使用枚举作为条件,if 条件将返回什么,真或假?
- 什么可以用来替换代码中的循环和 if 语句?
- 这个 FOR-IF 循环的解释是什么?
- if(i | j) 和 if (i & j) 在C++中做什么
- 在 if 语句中处理多个 or 的更优雅的方法是什么
- de if-Block 是什么意思
- if 语句正在检查什么条件
- 有什么更好的表现?IF或正常循环的不定循环
- if(!pointer) 和 if(!*pointer) 有什么区别?
- 前循环后的if stategent是什么意思
- C++:无论如何,有什么可以知道是什么触发了 If 语句
- 关于"if" "elseif" "else"陈述的良好做法是什么
- 在 c++ 中使用两个 if 有什么区别吗
- 不必要的 else 语句:当可以使用 IF 时,使用 ELSE IF 有什么缺点吗?
- "[Error] expected unqualified-Id before 'if'"这个代码块是什么意思
- 打印此矩阵的 if 语句是什么
- 我的 if 语句逻辑出了什么问题?
- 同时执行 if 和 else 条件的逻辑是什么
- if(NULL==指针)和if(指针==NULL)之间有什么区别
- 这个IF语句有什么问题吗?(C++)