C: параметр Store передан при вызове main - PullRequest
0 голосов
/ 19 ноября 2018

Я хотел бы знать, как сохранить параметры в C при компиляции:

Например: я хотел бы сохранить 2 строковые переменные, введенные пользователем.Главное называется так:

./main "Hello World!" World

Надо хранить "Hello World!"в string1 и в «Мире» в string2 (предположим, что мы можем использовать только основную функцию без функции заголовка), без использования указателей.

edit: вот мой код, который все еще не работает:

#include <stdio.h>
#include <err.h>

int  
main (int argc, char *argv[]) 
{
    if (argc != 2)
    { 
    errx(1, "Error");
    }
    printf("Number of arguments = %i\n", argc);
    for (int k = 0; k < argc; k += 1)
        {
        printf("argv[%i] = %s\n", i, argv[i]);
        }
return 0;
}

1 Ответ

0 голосов
/ 19 ноября 2018

На самом деле объявление main равно int main(int argc, char **argv); или int main(int argc, char *argv[]);, где:

  • argc - это число переданных аргументов
  • **argv или *argv[] содержит аргументы для передачи

Таким образом, вы должны использовать указатели для передачи аргументов (как объявлено main), другого пути нет.В вашем примере (./main "Hello World!" World) программа получит:

  • argc равно 3
  • argv[0] is ./main
  • argv[1]это Hello World!
  • argv[2] is World
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...