7
Kodu:Birisi bu C kodunu açıklayabilir mi?
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
}
Nasıl a==1
ve b==0
c89
ve c99
yılında b==1
?
Karşılığında a
içinde a
değeri c89
ve c99
içinde b
değişikliklerin 1 ve dönüş değeri ne kadar bilmek istiyorum?
Eh, daha fazla ayrıntı ekleyebilirsiniz verir? Şu andan itibaren sorunuzu doğru anlayamıyorum. –
IIRC, diğer C'leri de yapın. –
@AshishAhuja sizeof (enum {b, a}) 4'tür ve sizeof (int) de 4'tür (4! = 4), sonra a ;, a'nın değeri 1 olur? – user123456987