Строки и символы с printf

Меня смутило использование % c и % s в следующей программе на C

#include<stdio.h>

    void main()
    {
     char name[]="siva";
     printf("%s\n",name);
     printf("%c\n",*name);
    }

. Вывод:

siva
s

Почему нам нужно использовать указатель на отобразить символ% c, а указатель не нужен для строки

Я получаю сообщение об ошибке, когда использую

printf("%c\n", name);

Я получил ошибку

str.c: In function ‘main’:
str.c:9:2: warning: format ‘%c’ expects type ‘int’, but argument 2 has type ‘char *’
42
задан Manuel Selva 7 May 2013 в 07:08
поделиться