Форум программистов, компьютерный форум CyberForum.ru

C++ поясните работу программы - C++

Восстановить пароль Регистрация
 
Тима
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 59
06.10.2015, 09:50     C++ поясните работу программы #1
Здравствуйте. Помогите пожалуйста объяснить работу программы,если ограничил две переменные char [4] [4]. Вот скриншоты программы и итога её работы.
Интересует как получается lov Sokolov
 Комментарий модератора 
П.5.18.Правил
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
Миниатюры
C++ поясните работу программы   C++ поясните работу программы  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2015, 09:50     C++ поясните работу программы
Посмотрите здесь:

Объяснить работу программы C++
Поясните, пожалуйста, смысл выделенных строк в тексте программы C++
Поясните результат работы программы C++
C++ Объясните работу программы
Проверить работу программы C++
C++ Как прекратить работу программы?
Объяснить работу программы C++
C++ Прошу объяснить работу готовой программы
C++ Ускорить работу программы
C++ Рекурсия, объяснить работу программы
C++ Помогите исправить работу программы
C++ Организовать работу программы со сверхбольшими числами

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UnknownSoldier
567 / 88 / 35
Регистрация: 08.04.2015
Сообщений: 190
06.10.2015, 10:02     C++ поясните работу программы #2
Мало места выделили под строки. Скорее всего, компилятор их в памяти расположил впритык друг к другу, сначала фамилию, потом имя. Хорошо еще, что программа до конца доработала, не вылетела.
alexvikt
12 / 12 / 5
Регистрация: 29.09.2015
Сообщений: 38
06.10.2015, 12:01     C++ поясните работу программы #3
Выделили по 3 символа под имя и фамилию, а вводите больше.(не забываем про завершающий ноль)

Попробуйте ввести Tim Pen, все должно работать.
nefton
44 / 20 / 5
Регистрация: 28.02.2013
Сообщений: 187
06.10.2015, 12:08     C++ поясните работу программы #4
предыдущий ответ абсолютно верен.
поясню.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char familiya[4], imya[4];
//тут компилятор в памяти выделил 8 байт
//[*][*][*][*][*][*][*][*]
// |           |
//familiya     |
//            imya
//ввели имя timofei
//[*][*][*][*][t][i][m][o][f][e][i][\0]
//как видно тут уже должно быть всё плохо
//так как мы пишем в область памяти где может быть что угодно
//теперь вводим фамилию Sokolov
//[S][o][k][o][l][o][v][\0][f][e][i][\0]
//ну и вывод понятен
//выводим имя (выводится до [\0] - символ конца строки
//lov
//и фамилию
//Sokiolov
Yandex
Объявления
06.10.2015, 12:08     C++ поясните работу программы
Ответ Создать тему
Опции темы

Текущее время: 01:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru