if(ctr%2)是什么意思?

时间:2018-08-10 22:45:07

标签: c

我想知道这段代码的作用。我所知道的是,循环(加1)将在ctr==20时停止,但是if(ctr%2)在这里是什么意思?

    sum=0;
    for(ctr=0; ctr< 20; ctr++)
    {
    if (ctr % 2)
        continue;
    sum += 1;
    }
    printf (“%d\n”,sum);

3 个答案:

答案 0 :(得分:4)

它测试ctr是否为奇数。如果ctr % 2为偶数,则ctr的值为0(假),如果为奇数则为1。在if语句中,任何非零的值都视为真实。

答案 1 :(得分:0)

它实际上表示跳过奇数。条件ctr % 2表示,按 ctr 和数字2的除法得出的提示应该不同于0,但是只有一个可能的值满足该条件,即数字1。条件也可以写为ctr % 2 == 1

答案 2 :(得分:0)

它是取模运算符,它给出两个数字之间除法的余数。

https://www.perl.com/article/46/2013/11/4/Understanding-the-modulo-operator/