!(i % 3)不懂
#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;
}
!(i % 3)什么意思?i % 3 为0 ?!0 为1么? !(i% 3)和 i % 3==0是等价的,!(i % 3)为真值,i % 3就得等于0 i%3等于0,前面再加!,取反之后就是if语句为1了,此时i%3还是为零的 你的理解是正确的
i%3等0,说明是三的整数倍,
!(i%3) 的成立条件就是“是三的整数倍”
同理 !(i%5)的成立条件就是“是五的倍数”
所以总的条件就是“1000以内3的倍数或5的倍数的和”
页:
[1]