You (and every C/C++ programmer) should read these slides on "Deep C" by Maudal and Jagger and fully internalize the information they present:http://www.slideshare.net/olvemaudal/deep-c
I don't care if you have 20 years of experience and think you're the most bad-ass programmer around. Read those slides anyway. I lost count of how many multi-decade "veteran" C/C++ engineers I've worked with over the years that didn't know half of what those slides go over.
Those slides really bugged me when I first saw them a while back.
Not because they were wrong or things I didn't know, but because they explicitly said something in the introduction: "Suppose you are about to interview a candidate as a C programmer for various embedded platforms."
As someone who actually spent several years doing exactly that, I can testify that such compilers are notorious for not following the language standard, that they have incomplete support for many language features, and the comparisons against C++ compilers is absurd because much embedded software only has C-ish compilers, not C++ compilers. Sure many newer bits of hardware have C++-ish compilers, few are trustworthy..
The slides are informative for some people, but they directly violate the premise given at the very beginning. When they start talking about what would happen in various C++ flavors it doesn't match the premise. I'd remind the candidate that this is a C programming job, so please keep it to the various C standards.
(Nothing in the slides really surprised me as I started learning C in '83, C++ in '88, and have read and re-read all of the C and C++ language standards. I have surprised many co-workers by opening up the official paid-for PDFs and answering questions with a line from the standards, in addition to finding and reporting fun compiler bugs over the years where I can cite the standard when asking for clarification on the issue. That is always fun.)