Which of the following statements correctly describe C preprocessor directives in C++?

A. Preprocessor directives are processed before macros are expanded.
B. Any number of #else directives can be used between an #if and an #endif.
C. The #pragma directive is machine-independent.
D. The #import directive is used to copy code from a library into the
program's source code.
E. The #include directive is used to identify binary files that will be
linked to the program.

Well I'm sure I know all these, but am a little unsure about A and C. Now:
* From memory, macros are processed before directives, so A is INCORRECT.
* B is INCORRECT because you can't do #if #else #else #endif
* C is CORRECT since "The #pragma directives offer a way for each compiler to offer machine- and operating system-specific features while retaining overall compatibility with the C and C++ languages." from http://msdn.microsoft.com/en-us/libr...05(VS.71).aspx
* D is obviously CORRECT
* E is obviously CORRECT

Could someone please clarify my answer. Thx.