Почему меня смущает этот код?

программирование С++ C/C++

#include<iostream>
#include<conio.h>
using namespace std;

int main() {
int a='abc';
cout << a;
getch();
return 0;
}

Примечание:
И откуда берется число?
Ответы:
int a='abc';
что именно смущает то?
дык в инклудах-то что?
в C++ тип char представлен на самом деле целым числом, только значения - ASCII. То есть при присваивании целочисленной переменной символ вы присваиваете переменной его ASCII код. В данном случае я затрудняюсь сказать как именно присвоится набор из трех символов, либо коды будут идти подряд друг-другу либо как-то по другому, но суть вопроса я думаю раскрыл :)
a = 'a'*256+'b'*16+'c'
Наоброт, разумеется.
int a='abc'
эквивалентно
int a='\x61\x62\x63';
то есть фактически
int a=0x616263;
ну либо
int a='a'*65536+'b'*256+'c';


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.