7
Почему «sizeof (a? True: false)» выдает четыре байта?
У меня есть небольшой фрагмент кода об sizeofоператоре с троичным оператором: #include <stdio.h> #include <stdbool.h> int main() { bool a = true; printf("%zu\n", sizeof(bool)); // Ok printf("%zu\n", sizeof(a)); // Ok printf("%zu\n", sizeof(a ? true : false)); // Why 4? return 0; } Выход ( GCC ): 1 1 4 // …