Любой компилятор C, где «==» оценивается как большее, чем единица?

Поскольку все, что не равно нулю, означает истину, но операторы >, <, ==и т. д. возвращают 1для true, мне любопытно, есть ли какие-нибудь известные компиляторы C, в которых эти операторы могут привести к значению, большему, чем 1.

Другими словами, существует ли компилятор, в котором int i = (a==b); привело бы к неопределенному поведению, если бы я намеревался использовать iне как логическое значение, а как целое число, и предполагал, что это будет либо 0, либо 1?

11
задан vsz 17 May 2012 в 08:31
поделиться