`xor eax, eax` is less code when assembled. That's why compilers generate it.
..and reliably generate it for decades, but you can still manually do it in C for bonus stylistic points!
..and reliably generate it for decades, but you can still manually do it in C for bonus stylistic points!