0 / 0 / 1
Регистрация: 02.06.2016
Сообщений: 48
|
||||||
1 | ||||||
Объясните программу сложения строк с использованием указателей18.06.2016, 13:35. Показов 1601. Ответов 18
Метки нет (Все метки)
// Программа на СИ )))
Спасибо
0
|
18.06.2016, 13:35 | |
Ответы с готовыми решениями:
18
Составить программу на языке С++ для обработки строк с использованием указателей Объясните как записать код программы с использованием указателей С использованием функций и указателей отсортировать строки массива строк по убыванию Переделать программу с использованием указателей |
18.06.2016, 13:49 | 2 | ||||||||||
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||||||
18.06.2016, 13:51 | 3 | |||||
RomanFlash, Можно еще сократить:
0
|
14 / 14 / 5
Регистрация: 10.03.2016
Сообщений: 35
|
|||||||||||||||||||||
18.06.2016, 13:52 | 4 | ||||||||||||||||||||
Честно, похоже на пример из книжки "Как не надо программировать на C++" (кстати, классная, почитайте)
Здесь, если по адресу s2 лежал нуль-символ, то цикл прервется. Понятно, в теле цикла мы просто двигаем вперед оба указателя s1 и s2. При этом s1 в начале второго цикла указывал на конец строки. А потом функция возвращает ноль, что бы это не значило...
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
18.06.2016, 13:55 | 6 |
Ferrari F1, И где здесь сокращение, с лишней операцией?
0
|
92 / 81 / 57
Регистрация: 19.02.2016
Сообщений: 336
|
||||||
18.06.2016, 14:00 | 7 | |||||
Все предельно просто - откомпилируй и посмотри.
0
|
18.06.2016, 14:03 | 8 |
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
18.06.2016, 14:03 | 9 |
Ferrari F1, Ваш первоначальный вариант не работал. Я отвечал на него. После того как вы изменили сообщение, я изменил свое.
0
|
0 / 0 / 1
Регистрация: 02.06.2016
Сообщений: 48
|
||||||
18.06.2016, 14:08 [ТС] | 11 | |||||
Как бы то ни было, спасибо. Но вот такой вопрос, какое условие выхода из цикла?
0
|
18.06.2016, 14:11 | 12 | |||||
Вы правы, торопился, хотел как можно изощреннее написать, ну вот финальный вариант)
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
18.06.2016, 14:12 | 13 |
Да, бог с ним.
Важно здесь то, что в первом цикле тело не внести в условие. Очевидно же, что выражение *s1=*s2 возвращает значение *s1 - которое становится ложным когда цикл дошел до нуль-терминатора.
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
18.06.2016, 14:17 | 15 |
Ferrari F1, UPD:
for(; *s1; s1++) по стандарту эквиваленто исходному while - просто разные формы записи. В отличии от второго цикла.
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
18.06.2016, 14:27 | 17 |
6.5.3 The for statement
0
|
Неэпический
|
|||||||||||
18.06.2016, 16:27 | 18 | ||||||||||
И причем здесь C++?
Добавлено через 3 минуты avgoor, но тут есть один казус. Если в качестве statement'а поставить continue, то for и while станут работать по разному:
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
18.06.2016, 17:37 | 19 |
Есть такое. Чтобы обойти - потребовалось бы в одном параграфе определять и for и continue.
0
|
18.06.2016, 17:37 | |
18.06.2016, 17:37 | |
Помогаю со студенческими работами здесь
19
Переписать программу с использованием указателей Доработать программу с использованием указателей Переписать программу с использованием указателей Переделать программу с использованием указателей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |