Различие между 'строкой' и "строкой"

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
hazamin
Сообщения: 5
Зарегистрирован: 27 мар 2009, 09:05

Здравствуйте. Какое различие между строками , выделенными в одинарные кавычки, и строками с двойными кавычками?
При работе с одинарными кавычками компилятор (bcb, visual studio) выдает: too many characters in constant.
А вот в Turbo Pascal и Turbo C++ 3.0 работа с одинарными кавычками проходит без эксцессов.

Спасибо за внимание.
Аватара пользователя
Decoder
Сообщения: 308
Зарегистрирован: 19 фев 2008, 23:11
Откуда: Moscow

Вообще-то в одинарные кавычки можно помещать только один символ, а в двойные - целую строку.
Поумнеть несложно, куда труднее от дури избавиться.
rangerx
Сообщения: 28
Зарегистрирован: 01 июл 2009, 10:30

'c' - символьная константа
"string" - строковая константа
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

В двойных кавычках - строка.

В одинарных кавычках может быть помещён только символ, то есть не более одной буковки в случае узкого символа и не более двух буковок (либо кодов) в случае широкого символа.

В Паскаль действительно строки идут в одинарных кавычках и это норма.

Я боюсь, что ты ошибаешься, что одинарные кавычки работают в Турбо С 3.0. Если же ты не ошибаешься и проверял, то это отхождение от стандарта. Отхождение - это плохо, но и такое случается. Многие компиляторы этим грешат.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить