小编aka*_*roc的帖子

如果我向 fclose() 发送空指针会发生什么?

例如:

FILE* file_name;
file_name = fopen("some.txt", "r");  // some.txt isn't exist
if (file_name !=NULL)
  printf("nice");
fclose(file_name);
Run Code Online (Sandbox Code Playgroud)

发生了什么fclose

c

1
推荐指数
1
解决办法
428
查看次数

为什么 GCC 不检测变量初始化溢出?

为什么编译没有错误呢?我究竟做错了什么?

#include <stdio.h>

int main (){
    int n1 = 90, n2 = 93, n3 = 95;
    int i = 2147483647;
    int ii = 2147483646;
    int iii = 2147483650;
    char c1[50] = {'\0'};
    char c2[50] = {'\0'};
    char c3[50] = {'\0'};

    n1 = sprintf(c1, "%d", i+i);
    n2 = sprintf(c2, "%d", ii);
    n3 = sprintf(c3, "%d", iii);
    printf("n1 = %d, n2 = %d, n3 = %d\n  i = |%s| \n ii = |%s|\niii = |%s|\n", n1, n2, n3, c1, c2, c3);
        return …
Run Code Online (Sandbox Code Playgroud)

c initialization integer-overflow

-5
推荐指数
1
解决办法
592
查看次数

标签 统计

c ×2

initialization ×1

integer-overflow ×1