Каков самый простой стандарт, приспосабливают способу произвести Segfault в C?

Я думаю, что вопрос говорит все это. Пример, покрывающий большинство стандартов от C89 до C11, был бы полезен. Я, хотя из этого, но я предполагаю это, являюсь просто неопределенным поведением:

#include <stdio.h>

int main( int argc, char* argv[] )
{
  const char *s = NULL;
  printf( "%c\n", s[0] );
  return 0;
}

Править:

Поскольку некоторые голоса запросили разъяснение: Я хотел иметь программу с обычной программной ошибкой (самое простое, о котором я мог думать, был segfault), который, как гарантирует (стандарт), прервется. Это несколько отличается от минимального segfault вопроса, которые не заботятся об этой страховке.

57
задан 25 September 2013 в 02:10

1 ответ

Самая простая форма, рассматривая самое маленькое количество символов:

++*(int*)0;
0
ответ дан 1 November 2019 в 15:18

Другие вопросы по тегам:

Похожие вопросы: