7
Код:Может ли кто-нибудь объяснить этот код?
enum {a, b};
int different(void)
{
if (sizeof (enum {b, a}) != sizeof (int))
return a; // a == 1
return b; // b == 0 in C89, b == 1 in C99
}
Как a==1
и b==0
в c89
и b==1
в c99
?
Я хочу знать, как значение a
взамен a
1 и возвращаемое значение b
изменений в c89
и c99
?
Ну, вы можете добавить больше деталей? На данный момент я не могу правильно понять ваш вопрос. –
IIRC, так же как и другие C. –
@AshishAhuja sizeof (enum {b, a}) равен 4, а sizeof (int) также равен 4, что означает, что (4! = 4) возвращает a ;, как значение a равно 1? – user123456987