Вывести имя и все аргументы main, которые передаются - C (СИ)
Формулировка задачи:
Доброго времени суток, есть такая программа:
Программа выводит имя и все аргументы которые ей передаются.
Вопрос, если у нас в функции указатель на указатель, а в printf только *argv, т.е. она подставляет argv[0], argv[1] ... argv[argc] - получает только текущий элемент, то как она читает, что находится в argv[0], из-за %s? Просто, если я правильно понимаю, то когда мы имеем массив указателей int, чтобы получить конкретно значения в элементе нужно: прочитать элемент *arri и по нему прочесть значение **arri.
Если я говорю, что-то не верно, то поправьте и объяснить как правильно и как это работает. А то никак въехать не могу
PS. Пишу с телефона, табы не могу поставить
#include <stdio.h> int main(int argc, char **argv) { while(*argv++) printf("%s\n", *argv); return 0; }
Решение задачи: «Вывести имя и все аргументы main, которые передаются»
textual
Листинг программы
char **p; p = argv; while (*argv++) printf("%s\n", *argv);
Объяснение кода листинга программы
В данном коде происходит следующее:
- Объявляется указатель на указатель char, который будет указывать на массив строк (argv).
- Указатель p инициализируется значением argv.
- В цикле while происходит вывод каждой строки из массива argv с помощью функции printf.
- В каждой итерации цикла, указатель argv увеличивается на размер одного указателя, таким образом, каждая следующая строка выводится на новой строке. В итоге, в консоли будет выведена каждая строка из массива argv.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д