While you are busy beating your head against the wall trying to figure out basic memory management in C, someone else would be diving into C#, Java or any number of higher level/managed or scripting languages such as PHP, Python or Ruby and actually accomplishing something that will keep them engaged.
I mean, come on, just compare:
Code:
char str[15];
strcpy(str, "Hello world!");
To
Code:
$str = "Hello World!";
or
String str = "Hello world!";
Wait, what's wrong with :
Code:
char str[] = "Hello world!";
Which works the same way and avoids the pitfall you mentionned ? Maybe you should go back to learning C before you try to make examples showing how it's "lesser" than other languages.

Do hashes next!
C lacks a String type and an hash type. That's hardly a showstopper to learning the language. Also, no one is asking someone to learn all the intricate details of C and of the ANSI C library before jumping to another language. C is a fine language to learn the basics of programming that will carry over other languages like Java, Objective-C, C++, etc..
- looping
- conditionals
- blocks
- variable scopes
- data types
- arrays
- functions, their arguments, returns
- pointers and their management
All of those are used in other languages and learning them in C means you're syntax away from doing them in other languages just fine. And if is an if, it's just how you place paranthesis and define the block under it that changes. And for languages like Java and heck even Perl that borrow a lot of syntax from C, it will look almost the same.
What you say C makes hard (lack of certain complex types) makes C the best platform to learn. Let's say our new guy learns right in Objective-C, having NSString and NSDictionary to manage all of his string and hashing needs. What happens when he goes to Java ? [string isEqualToString: otherstring]; isn't there. He needs to relearn it all. If instead he went the C route and learned what a string really is to the computer (an array with some kind of terminating character) he knows that the "String" data type is not a data type, but usually a complex object that is provided by the framework. He's not under the impression that it works the same accross languages/platforms.
Pure nonsense, given that there are 100X more embedded systems than windows PC currently running your life, most likely programmed in C. (The typical windows laptop also has about a half dozen embedded processors in the box keeping it going. Sorry, no C# there.)
Not to mention most system software. On your typical Unix server, most everything running in the background besides the application is written in C. The clustering software, the RDBMS, the Web server, heck the Kernel and all its drivers... C is still very much alive.