我可以假設在C中,如果兩個值相等或它可以計算爲其他「真」值,那麼「==」運算符總是計算爲1?C中的「==」運算符的返回值
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,或者它可以返回其他值嗎?
請參閱http://port70.net/~nsz/c/c11/n1570.html#6.5.9p3 – Christoph