C's flexible integer sizes were a deliberate design choice to enable portability across diverse 1970s computer architectures with varying word sizes and addressing schemes, not a mistake. Modern programmers can use the STDINT.H header (introduced in C99) to declare fixed-size integer types like int32_t and uint32_t for consistent behavior across platforms.