|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.07.2011, 10:25 | #1 |
Пользователь
Регистрация: 04.07.2011
Сообщений: 16
|
С. Вывод символьного массива - результат удручающе не понятен
никак не могу понять, что не так. ниже код консольного приложения. ожидаемый результат:
Адам Адамович Адамовичем Адамовна Адель реальный результат такой: Адель Адель Адель Адель Адель подскажите пожалуйста, в чем тут дело Код:
1) Просьба внимательнее относиться к наименованию создаваемой темы! Название темы должно адекватно отражать суть решаемой задачи/проблемы. 2) Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Модератор. Последний раз редактировалось Serge_Bliznykov; 04.07.2011 в 13:23. |
04.07.2011, 12:11 | #2 |
Пользователь
Регистрация: 01.11.2010
Сообщений: 75
|
s = dict[j];
l = strlen(s); вот тут неправильно, строка в s без завершающего символа 0, и поэтому strlen не может правильно определить размер s. |
04.07.2011, 12:20 | #3 |
Пользователь
Регистрация: 01.11.2010
Сообщений: 75
|
и самое главное:
*(form + j) = c; тут присваиваешь адрес, а не значение. то есть в form[j] является адресом на какое-то слово. И ты ложишь в form[j] адрес переменной с. В которой на последнем этапе цикла будет слово Адель. И поэтому такая ошибка. нужно делать так: form[j]=malloc((strlen(c)+1)*sizeof(char)) ; for (i=0;i<=l;i++) form[j][i]=c[i]; |
04.07.2011, 13:09 | #4 | |||
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Ну почему "неправильно"? Правильно.
Цитата:
Цитата:
Цитата:
Код:
Код:
... Насчёт "самого главного" - того, что ошибка - здесь Код:
|
|||
04.07.2011, 13:46 | #5 |
Пользователь
Регистрация: 01.11.2010
Сообщений: 75
|
ох лол. Скажи это Borland C++, когда я в нём такое писал.
|
05.07.2011, 10:30 | #6 |
Пользователь
Регистрация: 04.07.2011
Сообщений: 16
|
большое спасибо. решил так:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Результат функции в виде массива! | Replicant | Общие вопросы Delphi | 3 | 18.03.2011 14:33 |
Удаление элемента из символьного массива | Mixim | Visual C++ | 4 | 03.12.2010 16:38 |
Вывод результат запроса в label,каким образом? | nuevegramodelamor | Помощь студентам | 1 | 28.04.2010 16:06 |
Как результат обработки одного массива загнать в другой массив? | delphifan | PHP | 1 | 16.04.2010 16:13 |
Запомнить результат в виде массива | Georgia | Помощь студентам | 4 | 22.05.2008 16:14 |