Интересные и занимательные задачи по С/С++, и не только |
Здравствуйте, гость ( Вход | Регистрация )
Интересные и занимательные задачи по С/С++, и не только |
void* |
10.2.2009, 22:08
Сообщение
#1
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
Вот собственно предлагаю скидывать сюда интересные задачи по С/С++. Желательно не слишком простые и не требующие написания программы, а только касательно понимания кода и знания стандартов. Начну сам:
1)Каков результат вычисления следующего кода?
а) 4 б) 5 в) 6 г) 7 д) Любое число ввиду неопределенности данной конструкции 2) Почему в C нельзя выводить текстовую информацию таким способом?
3) Что делает следующий С++ код? (Matt Marcus)
4)Выбрать результат выполнения программы.
A. AA B. A C. Пустой экран D. Программа не скомпилируется E. Программа не запустится F. Свой вариант (написать в комментариях) Сообщение отредактировал void* - 10.2.2009, 22:12 |
|
|
Sami |
11.2.2009, 12:03
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 28.4.2008 Пользователь №: 160 Спасибо сказали: 0 раз(а) Репутация: 0 |
1) Определенно д)
2) А вот почему? незнаю. сам так делал. Можно предположить только из-за переполнения буфера. Ибо лучший вариант будет так:
3) А ни чего код ни делает, template без класса-аргументов. Скорее компилятор начнет ругатся. 4) Вариант D) однозначно. Так как доступ к конструктору закрыт. |
|
|
Tonal |
11.2.2009, 12:35
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
В задаче 3 нужно таки использование.
Кроме того, возможны реализации С++ где sizeof char == sizeof int и в этом случае value будет всегда 1. |
|
|
void* |
11.2.2009, 17:46
Сообщение
#4
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
вроде все правильно, насчет 3-его сам еще не думал
1) тут все элементарно, undefined behaviour, т.к. нельзя больше одного раза изменять одну и ту же переменную в одной точке следования 2) опасность кроется в потенциальном наличии кусков типа %s в строке что приведет к ошибке 3) еще не разбирался 4) самая легкая задачка, естественно D |
|
|
Novak |
19.2.2009, 16:23
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: 6 |
1)Каков результат вычисления следующего кода? Нормального варианта ответа в предложенных нет. По сути результат будет зависеть от конкретной реализации компилятора, в какой последовательности он будет разрешать т.н. undefined behaviour. Но это неопределённое поведение не касается самого исполнения программы, просто в стандарте не задан порядок обработки такой ситуации, и те, кто реализуют компиляторы, могут на своё усмотрение эту ситуацию разрешить. Потому говорить, что будет возвращено любое число также неверно, как и полагать какой-то конкретный результат. Сообщение отредактировал Novak - 19.2.2009, 16:23 |
|
|
kuler |
5.3.2009, 15:58
Сообщение
#6
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
чему будет равно z?
int z = 1. / 3 - 1; |
|
|
AD |
5.3.2009, 16:13
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
void* |
5.3.2009, 17:51
Сообщение
#8
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
|
|
|
kuler |
5.3.2009, 18:47
Сообщение
#9
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
что и требовалось доказать
|
|
|
void* |
5.3.2009, 20:12
Сообщение
#10
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
так все-таки будет -1?
|
|
|
Текстовая версия | Сейчас: 30.1.2025, 6:45 |