Итак, я делаю модульное тестирование для моей программы, но есть один случай, когда я знаю, что он должен аварийно завершить работу, но я не могу заставить его это сделать, вот пример моего случая.
#include <stdio.h>
int main(void)
{
char buf[2] = { 0 };
int i = -1;
printf("%c", buf[i]);
return (0);
}
Насколько я понимаю, он должен потерпеть крах в какой-то энтропии, но все, что он, похоже, делает, это считывает, где указатель находится в памяти.Или это поведение должно быть нормальным, и нигде не произойдет сбой, независимо от того, какие тесты мы проводим?