Я знаю, что это основные вещи, но у меня есть одна конкретная проблема с этим.
Я реализую простую программу оболочки, и функция выхода должна передать значение выхода, если онопрошлоСледовательно, exit 45
должно возвращать 45 в качестве значения, но ничего не печатать *.
Команды передаются в анализатор функций в массиве char **arglist
.Поскольку exit 45
- это два аргумента, мне нужно распечатать последний аргумент.
Однако мой оператор отладки printf((int)&arglist[1])
возвращает значение 163393752, которое немного отличается от переданного значения.Когда я изменил printf
на puts
, было напечатано правильное значение, но exit()
требует целое число, а не указатель.
Используя этот пример, как я могу получить 45 из массива указателей?
* согласно профессору, цитируя его дословное выражение.