У меня есть этот код:Почему printf вызывает ошибку сегментации?
char* env;
if (getenv("MP") == NULL)
{
env = "/usr";
}
else
{
env = getenv("MP");
}
printf("($MP is %s)\n", env);
printf("The program seg faults without printing me :(");
Программа появляется на SEG отказ после первой печати, если переменная окружения $ MP не установлен. Если он установлен, нет никакой ошибки seg, и все работает нормально.
Этот код прекрасно работает для меня, ты логика немного странно Тхо;) – goji
Использование 'valgrind' или' gdb' найти точное положение в коде, где он возвращает ошибку сегментации. – us2012
Я ошибся, второй отпечаток не печатает, потому что я забыл закончить линию, кричит, gdb показал мне это. – Outback