Как пользоваться аргументами argc , argv[] ,функции main - C (СИ)

Узнай цену своей работы

Формулировка задачи:

И как запустить программу из консоли ? не совсем понимаю , как передать значения в эти аргументы.

Решение задачи: «Как пользоваться аргументами argc , argv[] ,функции main»

textual
Листинг программы
sh-4.2$ cat shit.c && clang shit.c && ./a.out 111 222 333 444 "ghj ghj ghj"
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char ** argv)
{
        int i = 0;
        char ** p = argv;
 
        while (*p)
        {
                fprintf(stdout, "argc = %i\t", i++);
                fprintf(stdout, "argv = %s\n", *p++);
        }
    exit(EXIT_SUCCESS);
}
argc = 0        argv = ./a.out
argc = 1        argv = 111
argc = 2        argv = 222
argc = 3        argv = 333
argc = 4        argv = 444
argc = 5        argv = ghj ghj ghj
sh-4.2$

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы: stdio.h и stdlib.h.
  2. Определяется функция main, которая является точкой входа в программу. В качестве параметров функции main передаются значения argc (количество аргументов командной строки) и argv (массив указателей на аргументы командной строки).
  3. Внутри функции main инициализируются две переменные: i (счетчик для перебора аргументов) и p (указатель на первый элемент массива argv).
  4. Запускается цикл while, который выполняется до тех пор, пока не будет достигнут конец массива argv (т.е. пока не станет равно *p NULL).
  5. Внутри цикла while выводятся значения argc и argv на экран с помощью функции fprintf. Значение argc увеличивается на единицу после каждой итерации цикла, а значение argv заменяется на следующий элемент массива argv (т.е. на следующий аргумент командной строки).
  6. После завершения цикла while выполняется оператор exit с кодом EXIT_SUCCESS, что приводит к завершению работы программы.
  7. При запуске программы с помощью команды ./a.out 111 222 333 444ghj ghj ghj`` на экран будет выведено: argc = 0        argv = ./a.out argc = 1        argv = 111 argc = 2        argv = 222 argc = 3        argv = 333 argc = 4        argv = 444 argc = 5        argv = ghj ghj ghj

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы