为什么我没有得到段错误

时间:2017-08-05 18:22:48

标签: c

我想故意得到段错误,但无法得到它。 为什么?
如果我从malloc边界访问内存,那不应该是段错吗?

使用Linux Ubuntu,使用gcc main.c -Wall -Wextra

编译
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {

   char* niz = malloc(sizeof(char)*4);
   niz[0] = 'd';
   niz[1] = 'i';
   niz[2] = 'm';
   niz[3] = 'a';

   printf("%s\n", niz);
   printf("%c\n", niz[20]);    //not giving segfault

   free(niz);
   exit(EXIT_SUCCESS);
}

输出:

$迪马
$(换行)

0 个答案:

没有答案