In Emacs when flyspell-prog-mode is active, C/C++ header names are also checked by Flyspell. So the spell checker complains of stdlib.h, stdio.h, but is ok with something like string.h.
Does anyone know how to fix this annoying Flyspell behavior?
The behaviour seems fixed in newer versions of Emacs (tested with 24.4 and 25.3).
Old response, confused the two flyspell modes:
Perhaps use flyspell-prog-mode
instead of flyspell-mode
? This restricts flyspell to strings and comments, however, so it will not correct misspelled variable or function names.