我是否可以假设在 C 中,如果两个值相等,“==”运算符将始终计算为 1,或者它可以计算为其他“真”值?
struct ss {
int id;
};
struct os {
int sid;
int state;
};
int count(struct ss *s, int state)
{
int num = 0;
// foreach o (of type os*) in a hash table
num += o->state == state && (s ? o->sid == s->id : 1);
return num;
}
So o->sid == s->id
总是返回 1 或 0,还是可以返回其他值?
我是否可以假设在 C 中,如果两个值相等,“==”运算符将始终计算为 1,或者它可以计算为其他“真”值?
是的,也是如此!=
>
<
>=
<=
所有关系运算符。
C11(ISO/IEC 9899:201x) §6.5.8关系运算符
每个运算符 (大于)、=
如果指定的关系为真,(大于或等于)应产生 1,如果为真则产生 0
false.107) 结果的类型为 int。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)