-6

做什么

return x == y;

意思是?

4

6 回答 6

0

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

于 2019-08-18T10:52:26.943 回答
0

==比较两个变量的值。比较结果为真或假,因此如果xy相等,则结果为真,否则结果为假。

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

在 C 中,0 表示 false,其他数字(正数和负数)表示 true。所以函数返回01

于 2019-08-18T10:53:05.427 回答
0

做什么

return x == y;

意思是?

  1. 在和之间进行逻辑比较xy其评估为int持有10取决于是否相等。xy

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

于 2019-08-18T10:54:04.073 回答
0

首先,让我让你明白什么x == y意思。

x == y比较xyx == ywill的结果是true如果xy相等,false否则。

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

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

最后,return x == y意味着函数返回的值将是1如果两者相等,x否则。y0

考虑函数,

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;
}
于 2019-08-18T10:55:00.207 回答
0

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

3 ==(等于)和!=(不等于)运算符类似于关系运算符,除了它们的优先级较低。108)如果指定的关系为真,则每个运算符产生 1,如果为假,则返回 0。结果的类型为 int。对于任何一对操作数,其中一个关系是正确的。

所以在这个返回语句中

return x == y;

使用了一个带有相等运算符的表达式==。表达式的值要么10取决于是否x等于y。所以 return 语句返回1or 0

您可以重写 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." );
}
//...
于 2019-08-18T12:06:28.410 回答
-1

这给了你一个布尔值(或布尔值)。如果 x 等于 y,则返回 true,否则返回 false。这在大多数使用 == 运算符的编程语言中都是一样的。

于 2019-08-18T11:04:51.880 回答