6 ms·
How would this be different from &? It is also a unary operator and && is a different binary operator. '||' and '&&' are distinct tokens in C as far as i know,
by wkz 8y ago
How would this be different from &? It is also a unary operator and && is a different binary operator.
'||' and '&&' are distinct tokens in C as far as i know, i.e. not handled as two consecutive '|'s or '&'s.
So your example would unambiguously be parsed as "a to the b:th power". Whereas the other case would need explicit parens:
int c = a * (*b);
Similar example for &:
int a = 1;
int b = 1 && a; /* 1 LOGICAL_AND a */
int c = 1 & (&a); /* 1 AND address of a */
- mafuy 8y agoJust dropping in to say you are completely correct. It is called "maximum munch" and mandated by the C spec. I recently wrote a toy C compiler and was confused until I learned this.