8 / 4 / 0
Регистрация: 11.04.2012
Сообщений: 54
|
||||||
1 | ||||||
Непонятный код?22.07.2012, 21:30. Показов 1130. Ответов 6
Метки нет Все метки)
(
Подскажите, что выполняется в следующем коде и каким образом?
0
|
|
22.07.2012, 21:30 | |
Ответы с готовыми решениями:
6
Непонятный код Непонятный Код Непонятный код с FreeLibrary Непонятный код в книге Страуструпа |
59 / 59 / 8
Регистрация: 29.06.2012
Сообщений: 188
|
||||||
22.07.2012, 22:00 | 2 | |||||
вводится с клавиатуры строка, например - 123456789 указатель на это строку попадает в buf[0] поэтому получается что buf[0][0] = 1 .. buf[0][2] = 3, buf[1][0] = 4.. buf[1][2] = 6.. собственно массив этот хранит только 6 символов. Но в строчке
1
|
5496 / 4891 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
22.07.2012, 22:18 | 3 |
В цикле выводится "> " и вводится массив символов, который помещается в память начиная с адреса buf[0]. Потом выводится "< " и два массива символов, начало первого находится по адресу buf[0], начало второго - по адресу buf[1]. Если в первый массив вводится более 3 символов, то он выходит за установленный размер массива, и перекрывает память, предназначенную для второго массива. Пример показывает, что выход за пределы массива возможен (программа работает), но делать так нельзя.
1
|
8 / 4 / 0
Регистрация: 11.04.2012
Сообщений: 54
|
|
22.07.2012, 22:28 [ТС] | 4 |
Вот такие вопросы возникли:
1.Каким образом анализируется выражение: ( cout << "> " && cin >> buf[0] ) 2.Что возвращает следующий операторы:cout << "> ",cin >> buf[0] 3.Как программа определяет, что нарушен размер массива?
0
|
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
|
||||||
22.07.2012, 22:41 | 6 | |||||
0
|
5496 / 4891 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
22.07.2012, 23:32 | 7 |
cout << возвращает cout (поэтому можно cout << 'a' << 'b'), cin >> возвращает cin (поэтому можно cin >> a >> b ). Возвращаемые значения, при анализе выражения, преобразуются в тип bool. Если успех, то true, если ошибка, то false.
Добавлено через 3 минуты Для этого нужно точно знать, какие ошибки возможны для cout << . Я не знаю, но наверное, они существуют. Я ответил на вопрос: каким образом анализируется выражение.
0
|
22.07.2012, 23:32 | |
Помогаю со студенческими работами здесь
7
Непонятный код и функция FindWindow Код выдает непонятный результат -1.#IND Непонятный синтаксис Непонятный вывод Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |