我可以假设在 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;
}
那么o->sid == s->id
将始终返回 1 或 0,还是可以返回其他值?