Как вывести массив строк в Си?
Понимаю, что что — то не правильно делаю, но мне кажется второй кусок кода логичным :
printf(«%s/n», *a) ; //вывести строку.
Предполагаю, что при чтении строки она ни где не заканчивается, по этому ошибка. Хотя терминальный ноль вроде бы не явно должен ставиться в конце строки. Помогите узнать в чем ошибка.
- Вопрос задан более трёх лет назад
- 5437 просмотров
2 комментария
Простой 2 комментария
Ввод и вывод массива
Ввод и вывод массива, то есть заполнение массива пользователем программы и выдачу содержимого массива пользователю, можно делать по-разному. Рассмотрим далее два варианта ввода/вывода массива в консольном приложении — scanf/printf и cin/cout.
Ввод/вывод массива с помощью функций scanf и prntif
Функция scanf предназначается для ввода данных с клавиатуры.
Для применения данной функции следует сначала подключить библиотеку языка C для операций ввода и вывода. Выглядит это следующим образом:
Цикл 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’];
Исправьте ошибку, допущенную в следующем коде:
C как вывести массив в консоль
Друзья, подскажите. Нужно занести в массив mas x символов, а потом вывести этот массив.
#include #include int main()
Выводит **********@. то есть массив и за ним еще несколько лишних символов. в чем может быть проблема?
The First Person!
Форумчанин
Регистрация: 07.08.2007
Сообщений: 228
Вот в чем проблема! Поставь mas[x]=’\0′;
К тому же у тебя помимо этого много ошибок.
%s используется для вывода строки! Для вывода символа, ну и для ввода символа используется %c
Ну я так понял тебе весь массив надо заполнить символом ‘*’
И наконец для вывода всего массива используй puts(mas);
#include #include int main() < int i; char mas[10], g='*'; for(i=0;i<10;i=i+1)< mas[i]=g; >mas[10]='\0'; puts(mas); getch(); >
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
Последний раз редактировалось MAKEDON; 15.04.2009 в 19:13 .