Перейти к содержимому

C как вывести массив в консоль

  • автор:

Ввод и вывод массива

Ввод и вывод массива, то есть заполнение массива пользователем программы и выдачу содержимого массива пользователю, можно делать по-разному. Рассмотрим далее два варианта ввода/вывода массива в консольном приложении — scanf/printf и cin/cout.

Ввод/вывод массива с помощью функций scanf и prntif

Функция scanf предназначается для ввода данных с клавиатуры.

Для применения данной функции следует сначала подключить библиотеку языка C для операций ввода и вывода. Выглядит это следующим образом:

Как вывести массив строк в Си?

Понимаю, что что — то не правильно делаю, но мне кажется второй кусок кода логичным :

printf(«%s/n», *a) ; //вывести строку.

Предполагаю, что при чтении строки она ни где не заканчивается, по этому ошибка. Хотя терминальный ноль вроде бы не явно должен ставиться в конце строки. Помогите узнать в чем ошибка.

  • Вопрос задан более трёх лет назад
  • 5436 просмотров

2 комментария

Простой 2 комментария

C как вывести массив в консоль

Как лучше вывести массив известной длинны без завершающего нуля в консоль?

Re: вывести массив без 0 в конце в консоль

От: Bell
Дата: 06.11.08 06:32
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Всем привет!

А>Как лучше вывести массив известной длинны без завершающего нуля в консоль?

Ну например вот так:

char arr[3] = '1', '2', '3'>; copy(arr, arr + 3, ostream_iteratorchar>(cout, "")); cout '\n';

Любите книгу — источник знаний (с) М.Горький
Re[2]: вывести массив без 0 в конце в консоль

От: Аноним
Дата: 06.11.08 06:44
Оценка:

А как можно без std это сделать?
Re[3]: вывести массив без 0 в конце в консоль

От: Bell
Дата: 06.11.08 06:52
Оценка: 1 (1)

Здравствуйте, Аноним, Вы писали:

А>А как можно без std это сделать?

char arr[3] = '1', '2', '3'>; printf("%.3s", arr);

ЗЫ
Вообще лучще уточнять — какой массив вывести, что значит «лучше».

Любите книгу — источник знаний (с) М.Горький
Re: вывести массив без 0 в конце в консоль

От: MShura
Дата: 06.11.08 07:37
Оценка:

А>Как лучше вывести массив известной длинны без завершающего нуля в консоль?

const char* buff = . int n = . printf( "%.*s\n", n, buff );

Re: вывести массив без 0 в конце в консоль

От: jazzer Skype: enerjazzer
Дата: 06.11.08 08:05
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Всем привет!

А>Как лучше вывести массив известной длинны без завершающего нуля в консоль?

write( stdout, array, lenght );

jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got If you always do what you always did

Re[2]: вывести массив без 0 в конце в консоль

От: Аноним
Дата: 04.01.09 11:11
Оценка:

Здравствуйте, jazzer, Вы писали:

J>

J>write( stdout, array, lenght ); J>

У меня почему-то не работает такой пример.
пишу:

#include #include int main() < write(stdout, "abc", 3); return 0; >

компилятор выдает ошибку:

index.cpp:6: error: invalid conversion from `FILE*' to `int' index.cpp:6: error: initializing argument 1 of `int write(int, const void*, unsigned int)'

приводил stdout в int — компилируется но не выводит.
Что неправильно я сделал?

Re[3]: вывести массив без 0 в конце в консоль

От: Sergej Pupykin
Дата: 04.01.09 12:42
Оценка:

Аноним 81 wrote:
> Что неправильно я сделал?

write(0, «abc», 3)
fwrite(«abc», 3, 1, stdout)

Posted via RSDN NNTP Server 2.1 beta
Re[4]: вывести массив без 0 в конце в консоль

От: Аноним
Дата: 05.01.09 05:52
Оценка:
write(1, "zxc\n", 4); fwrite("zxc\n", 4, 1, stdout);

Re[4]: вывести массив без 0 в конце в консоль

От: Vamp
Дата: 08.01.09 21:27
Оценка:

B>Вообще лучще уточнять — какой массив вывести, что значит «лучше».
Что значит лучше?
Да здравствует мыло душистое и веревка пушистая.
Re[3]: вывести массив без 0 в конце в консоль

От: Vamp
Дата: 08.01.09 21:33
Оценка:

write использует дескрпитор файла, а не file handle. Используй fwrite.
Но вообще я не понял задачи.

 const char* s = "Hello word!"; printf("%s", s);

не выводит нуль-терминатор.

Цикл for для массивов в JavaScript

Массивы также можно перебирать циклом for . Давайте посмотрим, как это делается. Пусть у нас дан вот такой массив:

let arr = [1, 2, 3, 4, 5];

Выведем элементы этого массива в цикле:

for (let i = 0; i

Можно не отнимать от длины массива единицу, а использовать нестрогое сравнение:

for (let i = 0; i < arr.length; i++) < console.log(arr[i]); >

Перебор массива циклом for дает больший контроль за происходящим. К примеру, можно вывести элементы не с нулевого, а с первого:

for (let i = 1; i < arr.length; i++) < console.log(arr[i]); >

Можно вывести элементы в обратном порядке:

for (let i = arr.length — 1; i >= 0; i—) < console.log(arr[i]); >

Выведите в консоль все элементы следующего массива:

let arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’];

Выведите в консоль все элементы следующего массива, за исключением нулевого и последнего:

let arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’];

Выведите в консоль элементы следующего массива в обратном порядке:

let arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’];

Исправьте ошибку, допущенную в следующем коде:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *