I share your experience with K&R. In my programming career, I've returned to C twice from other systems/languages. The big advantage of K&R is that it is concise. Its drawback is all of the fast and loose techniques it illustrates with very few good/useful code examples.
So, here is my "minimalist library" for C:
If you don't know programming at all, the Deitel & Deitel "How to Program in C" is probably all you need. It has everything and the kitchen sink in there. But you will need to do the exercises and should try to get feedback on your solutions from a experienced programmer. To fully use it, you will need to read it several times, first focusing on the main text, then on the tips/traps parts, and finally on the engineering practices.
If you know how to program already, that is, are not learning programming concepts, here is my absolute must-be-on-the-shelf list. All of these fit the "small is beautiful" approach (they are all under 350 pages so there's not a lot of fluff). They go from introductory level to advanced C programming.
- "C for Professional Programmers, 2nd Ed," by Keith Tizzard.
- "C traps and Pitfalls," by Andrew Koenig.
- "Advanced C Programming by Example," by John W. Perry.
- "Expert C Programming: Deep Secrets," by Peter Van Der Linden.
The first two come out of the K&R C era but are much better as both learning and reference books. Every concept Tizzard presents comes with sample code.
Lastly, the best way to learn how to code is to read existing code. Don't get caught up on coding style instead focus on how the code solves the problem.