Challenge 1: Printing sizeof for Five Basic Types — Possible Solution ==================================================================== #include int main() { printf("%zu\n", sizeof(int)); printf("%zu\n", sizeof(char)); printf("%zu\n", sizeof(float)); printf("%zu\n", sizeof(double)); printf("%zu\n", sizeof(long)); return 0; } Typical output on a modern 64-bit system (not guaranteed elsewhere): 4 1 4 8 8 WHY THIS WORKS AS AN ANSWER ------------------------------ %zu is the correct format specifier for the type sizeof returns (size_t, an unsigned type) -- using %d would technically be undefined behavior on most 64-bit platforms since size_t and int are different widths. The printed values are typical, not guaranteed, exactly per the chapter's own point: only char's size (always 1) is fixed by the standard.