“返回x == y”是什么意思?

时间:2019-08-18 10:48:47

标签: c operators operator-keyword equality-operator

做什么

return x == y;

是平均值?

6 个答案:

答案 0 :(得分:0)

表达式x == y产生一个整数值,或者0(当x不等于y时)或1(当{{1} }等于x)。

答案 1 :(得分:0)

create table demo(value varchar2(30 char)); insert into demo values('123450_00'); insert into demo values('12356_00'); insert into demo values('123455678'); insert into demo values('34569_'); insert into demo values('67589'); insert into demo values('123400.00'); 比较两个变量的值。比较结果为true或false,因此如果==x相等,则结果为true,否则结果为false。

y语句从函数返回此结果。

在C中,false表示0,其他数字表示true(正数和负数)。因此该函数返回 0 1

答案 2 :(得分:0)

  

做什么

return x == y;
     

是平均值?

  1. xy之间进行逻辑比较,得出int1取决于{{1} }和0是否相等。

  2. 结束该函数并按1返回结果。

答案 3 :(得分:0)

根据C标准(6.5.9相等运算符)

  

3 ==(等于)和!=(不等于)运算符类似于   关系运算符的优先级较低(108)   如果指定的关系为真,则运算符的结果为1,如果为真,则结果为0   这是错误的。结果的类型为int。对于任何一对操作数,   正是其中一种关系是真的。

所以在此return语句中

return x == y;

使用带有等于运算符==的表达式。表达式10的值取决于x是否等于y。因此return语句返回10

您可以像这样重写return语句

int result = ( x == y );
return result;

例如考虑一个if语句,条件是将两个字符串进行比较

if ( strcmp( s1, s2 ) == 0 )
{
    puts( "The strings are equal each other." );
}
//...

您可以编写一个单独的函数,看起来像

int equal( const char *s1, const char *s2 )
{
    return strcmp( s1, s2 ) == 0;
}

在这种情况下,if语句看起来像

if ( equal( s1, s2 ) )
{
    puts( "The strings are equal each other." );
}
//...

答案 4 :(得分:-1)

首先,让我让您了解x == y的含义。

x == y比较xy。如果x == ytrue相等,则x的结果将为y,否则为false

在C中,true等效于任何非零值(默认值为1),而false等效于零。

因此,如果x等于y,则x == y等于1。否则为0。

最后,return x == y表示如果1x相等,则函数返回的值将为y,否则为0

考虑功能,

int isEqual(int x, int y) {
    return x == y;
}

int main() {
    printf("%d", isEqual(1, 1)); // 1
    printf("%d", isEqual(1, 2)); // 0
    return 0;
}

答案 5 :(得分:-1)

这给您带来了麻烦(或布尔值)。如果x等于y,它将返回true,否则返回false。在大多数使用==运算符的编程语言中,该方法将相同。