Re: {size_t i = 0; for(; i < len; ++i) {
I started programming in C back in 1983, buying a copy of K & R to teach myself the language.
Having learned Z80 machine code (no assembler) on the ZX80, C was a revelation. It's essentially high level assembler! I still love the language to this day.
I liked Java, will use C# when given no choice and tinker with Python, Rust etc. For many modern languages, the problem lies in the incomprehensibly large number of libraries, not the language.
You can do lots with the C standard libraries, and your brain won't start to boil and drain out of your ears while you use them! Yes, you have to write more code, although any seasoned C programmer has their own set of libraries to do common tasks in their application sphere. In the end, C is a solid, rational and consistent programming language. It's a bedrock that you can always build good software on. It does require that those who use it are careful and considered and capable of remembering the memory they just allocated and ensuring they return it when they are finished with it, even in exceptional cases.
The constantly moving targets of C# and .Net, the system libraries and the evolution of the language with more obstacles to understanding is just part of what makes me dislike it. The billion frameworks, patterns and layers upon layers of assemblies creating objects like memory was infinite are what turns that dislike into hate. I believe it is already impossible for one person to understand all that Microsoft has spawned in the .Net and C# world. It has also created a world of cut and paste programmers who have no appreciation for the art of good programming, regardless of the language being used.
I've avoided C++ like a plague carrier throughout my career once I'd seen how it encouraged the creation of utterly incomprehensible code with such ease. Such code is never properly documented (but it's obvious from the object oriented design!) and is an utter nightmare when it comes to maintenance as the original writers have long since moved on to greener pastures.
It's good to hear of someone moving to C from C++ and enjoying that feeling of being in charge when you use it. Welcome to the club!