gpt4 book ai didi

c - ==符号是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 16:57:40 24 4
gpt4 key购买 nike

我想弄清楚 == 符号在这个程序中是什么意思?

int main()
{
int x = 2, y = 6, z = 6;
x = y == z;
printf("%d", x);
}

最佳答案

== 运算符测试是否相等。例如:

if ( a == b )
dosomething();

并且,在您的示例中:

x = y == z;

如果 y 等于 z,则 x 为真 (1)。如果 y 等于 z,则 x 为假 (0)。

新手 C 程序员常犯的错误(以及一些非常有经验的人也会犯的错字)是:

if ( a = b )
dosomething();

在这种情况下,b 被分配给 a,然后作为 bool 表达式求值。有时程序员会故意这样做,但这是一种不好的形式。另一个阅读代码的程序员不会知道它是有意(很少)还是无意(更有可能)完成的。更好的构造是:

if ( (a = b) == 0 )   // or !=
dosomething();

这里把b赋值给a,然后把结果和0进行比较,用意很明显了。 (有趣的是,我曾与 C# 程序员一起工作,他们从未编写过纯 C,也无法告诉你这是做什么的。)

关于c - ==符号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3624029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com