求助
#include <stdio.h>int main()
{
int i, sum = 0;
for (i = 0; i < 1000; i++)
{
if (!(i % 3) || !(i % 5))
{
sum += i;
}
}
printf("%d\n", sum);
return 0;
}
有没有人告诉我一下,这个表达式里的感叹号是什么意思。
!=这个是不等于,那单个!是什么意思 本帖最后由 昨非 于 2021-1-13 23:56 编辑
bool值的取非操作
是true(1)则变为false(0)
是false(0)则变为true(1)
这里
if (!(i % 3) || !(i % 5))的条件等价于
if (!(i % 3!=0) || !(i % 5!=0))
翻译一下也就是:
如果:i%3=0 或 i%5=0 时:
当:i被三整除或被五整除时 这里的话,就是满足i不能被3整除或者i不能被5整除的时候,执行if的{}的代码 本帖最后由 jackz007 于 2021-1-13 23:59 编辑
! 是逻辑非,其效果是对表达式的原逻辑值取反。
例如, 如果 i 能够被 3 整除,那么,i % 3 的值就是 0,逻辑值为 false, ! (i % 3) 的逻辑值与 i % 3 正好相反,为 true,就是说, ! (i % 3)的逻辑值在 i 能够被 3 整除的时候为 true,否则为 false。
页:
[1]