Предположим, у меня есть char **argv
.
Во-первых, как я могу распечатать все строки в argv
? Я пробовал следующее:
char *temp;
temp = *argv; // Now points to the first string?
while (temp != NULL) {
printf("%s ", temp);
temp++;
}
Здесь, когда temp
увеличивается, он пропускает только один символ. Почему это происходит? Я знаю, что argv
— это массив, содержащий точки. Каждый указатель указывает на массив char*
. Если да, то почему это не работает? Я знаю, что, поскольку temp
имеет тип char
, увеличение этого указателя увеличит его на 1
char (или байт). Если да, то как я могу увеличить указатель на следующий массив и распечатать эту строку?