都是合法的。
二者的区别是:
用尖括号<>时,系统到系统目录中寻找要包含的文件,如果找不到,编译系统就给出出错信息。
有时被包含的文件不一定在系统目录中,这时应该用双引号""形式,在""中指出文件路径和文件名。 如果在""中没有给出绝对路径,如#include "file2.c"则默认指用户当前目录中的文件。系统先在用户当前目录中寻找要包含的文件,若找不到,再到系统目录查找。如果程序中要包含的是用户自己编写的文件,宜用""形式。 对于系统提供的头文件,既可以用尖括号<>形式,也可以用""形式,都能找到被包含的文件,但显然用尖括号<>形式更直截了当,效率更高。