2014-09-30 4 views
-5

Эти строки все печатают правильный вход из массива, но каждый из них печатает только 3 символа каждого элемента, а не 4 символа, которые определяют каждый элемент. Есть ли параметр по умолчанию или настройки для Printf, которые я должен использовать или изменять?Печать 2-х элементов массива с помощью Printf

printf("at time[0][0]: \n%s \n",&time[0][0]); 
    printf("at time[3][0]: \n%s \n",&time[3][0]); 
    printf("at time[5][0]: \n%s \n",&time[5][0]); 
+5

Покажите определение 'time' и то, что, по вашему мнению, его значение находится во время печати. – chux

+2

'% s' предназначен для печати * строки * (которая представляет собой серию« char », за которой следует нулевой ограничитель). Вы не отправляли достаточно кода для тех, кто проверял, действительно ли 'time [n]' содержит строки. –

+0

все зависит от того, что со временем [] [], показать декларацию и как ее заполнить, чтобы ответить на ваш вопрос. –

ответ

0

% s - спецификатор формата для символьного массива с нулевым завершением. Итак, в вашем случае, если время объявлено как time [] [] (двухмерный массив), тогда время [0], время [3], время [5] являются индивидуальными символьными массивами с нулевым завершением. time [0] [0] означает только один символ, затем (первый в буфере). И & время [0] [0] означает то же, что и время [0]. Убедитесь, что у вас есть время [0] [3] как 0 или «\ 0» случайно или проверьте, не сброшены ли буферы, если нет, сделайте это.

+0

Буферы не были завершены нулем, а записи составляли 4 символа, поэтому printf отбрасывал один символ с конца записи. Спасибо. –

1

Используйте% с спецификатор формата для печати, что ...
Удалить & из Printf ...
Если вы хотите напечатать весь ряд массива используется только индекс строки ...

+2

Это чрезмерно решительно, учитывая отсутствие информации в вопросе. Учитывая 'char time [6] [20];' подходящим образом инициализируется, вполне законно использовать выражения 'printf()', указанные в вопросе. Проблема в том, что мы не знаем, как определяется временной массив. –

Смежные вопросы