Как разобрать строку, которая находится в одном индексе массива? - PullRequest
0 голосов
/ 14 февраля 2019

Я пишу программу на C, которая получает две строки в качестве ввода от пользователя в командной строке.Я знаю, что когда вы используете

int main(int argc, char *argv[])

, он создает указатель на массив, который хранит оба аргумента как argv [1] и argv [2].Скажите, что пользователь вводит «привет» в командной строке, и я хочу получить доступ к отдельным символам в «привет», как я могу это сделать, если argv [1] выдает мне всю строку, а не отдельные символы?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Вы можете рассматривать char * argv [] как строковый массив.

Поскольку char * - это указатель, который указывает на массив символов (также может рассматриваться как строка).

Итак, argv [0], argv [1] .... это тип данных char *, argv [0] [0] это тип данных char.

0 голосов
/ 14 февраля 2019

TL; DR- В случае сомнений проверьте тип данных.

Тип для argv равен char * [], который уменьшается до char **.Таким образом, argv[n] имеет тип char *.

Вы можете индексировать в argv[n], например argv[n][m], чтобы получить элементы char.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...