aka*_*roc 1 c
例如:
FILE* file_name; file_name = fopen("some.txt", "r"); // some.txt isn't exist if (file_name !=NULL) printf("nice"); fclose(file_name);
发生了什么fclose?
fclose
dbu*_*ush 8
传递NULL指针会fclose触发未定义的行为。
NULL
该函数在C 标准fclose7.21.5.1 节中被记录为库函数,并且 7.1.4p1 节规定了有关库函数的以下内容:
除非在后面的详细描述中另有明确说明,否则以下每个语句都适用:如果函数的参数具有无效值(例如函数域之外的值,或者程序地址空间之外的指针, 或空指针,或指向不可修改存储的指针(当相应的参数不是 const 限定时)或具有可变数量参数的函数不期望的类型(提升后),则行为是未定义的。
第 7.21.5.1 节没有明确提及NULL传递给 的指针fclose,因此上述声明适用。
归档时间:
3 年 前
查看次数:
428 次
最近记录: