Разве доступ x[0]
не должен обеспечить это?
Нет, потому что &
в &x[0]
получает адрес первого элемента строки (так что этоэквивалентно просто использованию x
.
%s
выведет все символы в строке, увидит нулевой символ в конце строки (что неявно для литеральных строк).
Чтобы распечатать символ, а не всю строку, используйте спецификатор формата символа %c
.
Обратите внимание, что printf("%s \n", x[0]);
будет недопустимым, поскольку x[0]
имеет тип char
и %s
ожидает char *
.