Можно ли предположить, что в 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 или может возвращать другие значения?