thumb_up 9 thumb_down 0 flag 0

The answer to this question is actually implementation dependent.

However, for a general understanding, the difference in both these preprocessor directives can be understood as that #include <FileName> tells the compiler to search for the file in the INCLUDE_PATH ( directory which stores all other header files ). You can modify this INCLUDE_PATH in environment setup.

While #include "FileName" first searches it in the directory containing the current file. If the search fails, it works same as #include <FileName>

Sources:
ISO/IEC 9899:201x - n1570.pdf
The C Preprocessor: Include Syntax