Страницы

Поиск по вопросам

среда, 9 января 2019 г.

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

Собственно хочу понять механизм того что происходит с компилятором в C и C++ если объявить символ вот так 'a' и вот так "a". Весь смысл изложен в этой программе
#include
int main() { printf("This is %s
", (sizeof('a') == sizeof(char)) ? "C++" : "C"); return 0; }
в принципе понятно что происходит по факту, но не всовсем понятно как это работает изнутри.


Ответ

Пример в коде - классический пример различия между с и с++. В с++ символ в кавычках - это char. И размер его - 1. В си все приводится к int и размер 4.
А различие между одинарными и двойными кавычками просто - в одинарных - символ, в двойных - строка (массив char).
Самое интересное, что об этом даже в википедии написано:)
И почитать у Alena cpp

Комментариев нет:

Отправить комментарий