Кавычки в C и C++

304
11 февраля 2018, 00:35

Собственно хочу понять механизм того что происходит с компилятором в C и C++ если объявить символ вот так 'a' и вот так "a". Весь смысл изложен в этой программе

#include <stdio.h>
int main()
{
    printf("This is %s\n", (sizeof('a') == sizeof(char)) ? "C++" : "C");
    return 0;
}

в принципе понятно что происходит по факту, но не всовсем понятно как это работает изнутри.

Answer 1

Пример в коде - классический пример различия между с и с++. В с++ символ в кавычках - это char. И размер его - 1. В си все приводится к int и размер 4.

А различие между одинарными и двойными кавычками просто - в одинарных - символ, в двойных - строка (массив char).

Самое интересное, что об этом даже в википедии написано:)

И почитать у Alena cpp.

Answer 2

В одинарных кавычках — символ, в двойных кавычках — строка.

Вам может показаться интересной данная статья Типы данных в C

READ ALSO
Проверка правильносьти IP адреса на C++

Проверка правильносьти IP адреса на C++

Дан IP адресНеобходимо проверить его правильность (все числа в диапазоне 0-255, числа разделены точками, количество чисел: 4, точек: 3)

696
Как взять строку с браузера в программу?

Как взять строку с браузера в программу?

ЗдравствуйтеВ программирование я совсем новичок (совсем зеленый, так сказать :D) Ну и вообщем,появилась у меня идея,сделать что то типа конвертера...

233
Чтение/запись BSON документа в файл

Чтение/запись BSON документа в файл

Не понимаю как записать и считать BSON документ из файлаИспользуется официальная библиотека bsoncxx от MongoDB

373
Как сделать такую клавиатуру?

Как сделать такую клавиатуру?

Где можно найти исходники этой клавиатурыНе могу найти ни как

309