Невозможно напечатать массив строк с помощью указателя char - PullRequest
0 голосов
/ 09 мая 2020

У меня есть этот код:

#include <stdio.h>

int main(){
    char a[] = "ciao";

    char *aPtr = a;

    printf("%s\n", *aPtr);
}

Он дает мне это предупреждение:

8:17: warning: format specifies type 'char *' but the
      argument has type 'char' [-Wformat]
        printf("%s\n", *aPtr);
                ~~     ^~~~~
                %c
1 warning generated.

Если я запустил его, у меня возникла ошибка сегментации

Segmentation fault: 11

Почему ?

1 Ответ

1 голос
/ 09 мая 2020

Удалите '*' из файла printf. Вам необходимо указать адрес памяти, чтобы функция могла искать оставшуюся часть строки.

printf("%s\n", aPtr);

Вы просто отправляете printf 'c' (первый символ "Чао"). Надеюсь, это поможет.

...