Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
#1

Присваивание... - C++

08.10.2009, 02:12. Просмотров 569. Ответов 6
Метки нет (Все метки)

C++
1
2
3
char f = 300;
cout << f;
system("PAUSE");
C++
1
2
3
4
char f = 300;
int s = f;
cout << f;
system("PAUSE");
Почему вывод значений отличается ? Ведь я же передавал одно и то же значение между переменными.И вообще,как в символьную переменную можно засунуть 300.

И ещё - почему при передаче в первом примере значения 999999 выдаётся символ "?" ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2009, 02:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Присваивание... (C++):

Присваивание - C++
Помогите с оператором присваивания ) class Stack { private: myString *st; .... void operator=(myString); ...

Присваивание = - C++
Есть ли хоть какая-нибудь разница в следующих примерах: a = 0; b = 0; c = 0; и a = b = c = 0;

Присваивание матиц - C++
Не могу понять, как матрице 2, присвоить элементы матрицы 1. Помогите плиз В заданной матрице F записать на место отрицательных элементов...

Класс присваивание a=b=c - C++
Собственно, вот код. Компилируется. Но работает не так как надо.( class Foo #include &lt;iostream&gt; #include &lt;string&gt; using...

Запретить присваивание указателей - C++
Доброго! Подскажите пожалуйста, можно ли запретить присваивание указателей? class A { //bla-bla-bla... }; class B { ...

Присваивание значения переменной - C++
Доброго времени суток. string name, message; cout &lt;&lt; &quot; Введите Ваше имя и письмо:\n&quot;; cin &gt;&gt; a &gt;&gt; b; cout &lt;&lt; message &lt;&lt; &quot;\n&quot;...

6
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
08.10.2009, 02:14 #2
Welemir, про размерности почитай, чтобы знал, какой максимум у char и т д.
Цитата Сообщение от Welemir Посмотреть сообщение
Почему вывод значений отличается ?
потому что int обычно четыре байта, а char - один.
0
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
08.10.2009, 02:23 #3
Цитата Сообщение от Welemir Посмотреть сообщение
И вообще,как в символьную переменную можно засунуть 300.
Вот и компилятор не понимает, как такое возможно... У char диапазон значений -128...127, а ты втюхиваешь 300, ну значение переменной и обрубается.
0
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
08.10.2009, 02:47  [ТС] #4
Я знаю,я просто проверял.Меня интересует,что за ? выводится. Про диапазоны я наизусть знаю...

Добавлено через 5 минут
И ещё вопрос,после чего иду спать(( - int(*s) n[50] - почему это указатель на массив, а не массив указателей ? Ведь у [] приоритет выше,чем у *.
0
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
08.10.2009, 02:59 #5
Цитата Сообщение от Welemir Посмотреть сообщение
Про диапазоны я наизусть знаю...
Знал бы, сам бы давно посчитал.
999999 это 0x000f423f в шестандцатеричной системе. Как видно, оно нифига не поместится в char (один байт). Поэтому возьмется младший байт из int - 3f, а 3f - код символа ?

P. S. наизусть он знает...

Добавлено через 5 минут
Цитата Сообщение от Welemir Посмотреть сообщение
int(*s) n[50]
что это? Это разве скомпилится?
0
Sich_Taras
14 / 14 / 1
Регистрация: 08.10.2009
Сообщений: 114
08.10.2009, 03:14 #6
крутой бред ))
0
Patch
2277 / 492 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
08.10.2009, 04:05 #7
мдя... вот так и рождаются шедевры...
что курил?
0
08.10.2009, 04:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2009, 04:05
Привет! Вот еще темы с ответами:

Присваивание при полиморфизме - C++
Здравствуйте, помогите, пожалуйста) Имеем класс A и унаследованный от него B. Если попытаться присвоить один объект типа B, который...

Почему работает присваивание - C++
Пример из книги. Немогу понять, почему работает присваивание в main.cpp, ведь оператор = не перегружен?!?! //Complex.h ...

Присваивание edit переменной - C++
Добрый день. Почему то компилятор не хочет переводить char в int Код: int z ; strncpy(z, Edit5-&gt;Text.ToInt(),...

Присваивание постфиксного числа - C++
Добрый день господа. Почему если программа знает что j=11 i присваивается 10? #include &lt;iostream&gt; using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.