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 // Why 4? แต่ที่นี่, printf("%zu\n", sizeof(a ? true : …