У меня есть нижняя часть кода, в которой я заметил, что если я изменю 0 на 1, результат будет таким же. Я получаю STACKprint();
с «on» в качестве второго аргумента, ничего с чем-либо еще, и если нет аргумента, я получаю ошибку сегментации. Я предполагаю, что для ошибки сегментации мне нужно проверить, является ли аргумент NULL
, но я не уверен, как это сделать со вторым параметром, и это действительно меня пугает, почему (strcmp (argv[2],"on") == 1)
не имеет никакого эффекта. Не предполагается ли значение TRUE?Проверка аргумента командной строки C
if (strcmp (argv[2],"on") == 0) {
STACKprint();
printf("\n");
}
Для предотвращения ошибки сегментации вам необходимо проверить 'argc'. – aschepler
Вы должны использовать 'argc' (число), чтобы определить, существует ли' argv [2] '. – donjuedo
@aschepler Извините за глупый вопрос, но что такое 'STACKprint()'? – ameyCU