C++ 如果(!(x%3))是什么意思?

C++ 如果(!(x%3))是什么意思?,c++,C++,我试图解决一个硬件问题,在这个问题中,我需要写下程序将输出什么。然而,我被困在语法上,如果!我是%3。这到底是什么意思?这是否意味着程序正在检查任何可被3整除的i?aka,if语句只在i可被3整除时运行吗 int main () { for (int i=0; i<10; (i<3?i++;i+=2)) { if (!(i%3)) { continue; } else if (i%7 ==0) { break; }

我试图解决一个硬件问题,在这个问题中,我需要写下程序将输出什么。然而,我被困在语法上,如果!我是%3。这到底是什么意思?这是否意味着程序正在检查任何可被3整除的i?aka,if语句只在i可被3整除时运行吗

int main () {
for (int i=0; i<10; (i<3?i++;i+=2)) {
    if (!(i%3)) {
        continue;
    }
    else if (i%7 ==0) {
        break;
    }
    cout << i<< endl;
}
İt意味着如果我不是!可被3整除的继续。 例如,如果我是3,6,9,它将不会继续,否则它将继续。

t意味着如果我不是!可被3整除的继续。 例如,如果我是3,6,9,它将不会继续,否则它将继续

这是否意味着程序正在检查任何可被3整除的i?aka,if语句只在i可被3整除时运行吗

int main () {
for (int i=0; i<10; (i<3?i++;i+=2)) {
    if (!(i%3)) {
        continue;
    }
    else if (i%7 ==0) {
        break;
    }
    cout << i<< endl;
}
对。那张支票的较长版本是

if (i % 3 == 0)
    continue;
这种分支最常见的用例可能是

这是否意味着程序正在检查任何可被3整除的i?aka,if语句只在i可被3整除时运行吗

int main () {
for (int i=0; i<10; (i<3?i++;i+=2)) {
    if (!(i%3)) {
        continue;
    }
    else if (i%7 ==0) {
        break;
    }
    cout << i<< endl;
}
对。那张支票的较长版本是

if (i % 3 == 0)
    continue;
这种分支最常见的用例可能是。

如果x隐式地与零比较,其中x是int。即如果x等于如果x!=0. ! 这是否定。所以如果!如果x==0,则x等于。最后一步是如果!i%3等于,如果i%3==0,则与check相同,如果x隐式地与零比较,则i由3可见。即如果x等于如果x!=0. ! 这是否定。所以如果!如果x==0,则x等于。最后一步是如果!i%3等于,如果i%3==0,则与检查相同,即i通过上述条件3可见,即如果!当我被3拒绝时,我%3将为真 希望这有帮助。

以上情况即如果!当我被3拒绝时,我%3将为真 希望这有帮助。

只有当括号内的结果为0 false时,if语句才为false。看看你的计划:

i%3可能返回0假、1真或2真

否定运算符!更改操作i%3的结果。因此,如果i可被3整除,则语句将返回0 false。是否定的!这将导致真实的结果。否则,i%3的结果将为真,并与运算符一起使用!HORE语句的结果将为false。基本上,这段代码检查i的值是否可以被3整除

其他选择包括:

if (0==i%3)
{
/*code*/
}
仅当括号内的结果为0 false时,if语句才为false。看看你的计划:

i%3可能返回0假、1真或2真

否定运算符!更改操作i%3的结果。因此,如果i可被3整除,则语句将返回0 false。是否定的!这将导致真实的结果。否则,i%3的结果将为真,并与运算符一起使用!HORE语句的结果将为false。基本上,这段代码检查i的值是否可以被3整除

其他选择包括:

if (0==i%3)
{
/*code*/
}

您的代码可以简化如下

int main() {
    for (int i=0; i<10;) 
    {
        if (i % 3 == 0) {
            continue;
        }
        else if (i % 7 == 0) {
            break;
        }

        cout << i << endl;

        i = i<3 ? i+1 : i+2;
    }
}

您的代码可以简化如下

int main() {
    for (int i=0; i<10;) 
    {
        if (i % 3 == 0) {
            continue;
        }
        else if (i % 7 == 0) {
            break;
        }

        cout << i << endl;

        i = i<3 ? i+1 : i+2;
    }
}

当你写一个像i这样的整数变量作为条件时,如果i==0,那么条件的结果是false,否则它将是true

让我们在您的程序中检查它,如果!x%3,让我们命名条件=!x%3,当此条件为真时?当x%3==0时,请注意否定运算符!在x%3之后,因此在这种情况下,条件将等于true,更正式地说,条件等于:

如果x%3==0

这些情况很常见,请查看以下示例:

int t = 10;
while(t--){
    cout<<t<<endl;
}

当你写一个像i这样的整数变量作为条件时,如果i==0,那么条件的结果是false,否则它将是true

让我们在您的程序中检查它,如果!x%3,让我们命名条件=!x%3,当此条件为真时?当x%3==0时,请注意否定运算符!在x%3之后,因此在这种情况下,条件将等于true,更正式地说,条件等于:

如果x%3==0

这些情况很常见,请查看以下示例:

int t = 10;
while(t--){
    cout<<t<<endl;
}

在java和其他语言中,有一种特殊类型来表示布尔值和计算表达式;在c及其变体中没有这样的东西,相反,如果一个表达式(作为一个整数)等于0,则该表达式被认为是真的;其他值为false。有趣的事实:这就是为什么您通常以返回0结束代码

因此,c中的ifx%3相当于其他语言中的ifx%3==0。也就是说,当x/3的余数为0时,即当x是3的倍数时,ifx%3执行if体。 在您的代码中,您拥有!在此之前,您可能知道,它将表达式反转。这意味着如果!x%3可以被读取,就好像x除以3的整数的余数不是0,或者:如果x不是3的倍数

所以,基本上,你看对了


希望我能帮忙

在java和其他语言中,有一种特殊类型用于表示布尔值和计算表达式;相反,在c及其变体中没有这样的东西 如果表达式(作为整数)等于0,则认为表达式为真;其他值为false。有趣的事实:这就是为什么您通常以返回0结束代码

因此,c中的ifx%3相当于其他语言中的ifx%3==0。也就是说,当x/3的余数为0时,即当x是3的倍数时,ifx%3执行if体。 在您的代码中,您拥有!在此之前,您可能知道,它将表达式反转。这意味着如果!x%3可以被读取,就好像x除以3的整数的余数不是0,或者:如果x不是3的倍数

所以,基本上,你看对了


希望我能帮忙

这是否意味着程序正在检查任何可被3整除的i?没错,是的。。。您的代码跳过所有可被3和7整除的i,并处理REST。这是否意味着程序正在检查任何可被3整除的i?没错,是的。。。您的代码跳过所有可被3和7整除的is,并处理rest。如果i不可被3整除,则结果将为非零,if将完全失败!然后它将进入下一个语句。如果i不能被3整除,结果将是非零的,if将完全失败!然后它将进入下一个声明。