What is wrong with versioning a language like c89, c99 etc.? I think it is a lot easier to keep track of the 7 versions of C than the 14 that are available for zig and the however many there are for rust.
I do agree that some of the UB is a problem though.
This is mostly an issue with MSVC which refuses to become compliant with c99 standard. Their support for c11 and c17 also has some gaps around features that were introduced in c99.
I do agree that some of the UB is a problem though.