Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
6 / 6 / 1
Регистрация: 26.12.2012
Сообщений: 50
1

В чем причина

12.07.2013, 18:35. Показов 766. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
 
int b=20;
 
int *a = &b;
 
int main()
{
    cout << a << endl;
    cout << b << endl;
    cout << &b << endl;
    cout << &a << endl;
system ("pause");
}
Не какой ошибки нету но результат:

01127038
20
01127038
0112703c

Ну почему
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2013, 18:35
Ответы с готовыми решениями:

В чем причина?
#include &lt;windows.h&gt; LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI...

В чем причина
Вообщем по идеи в следующим коде по матрице ну хотя-бы вообще должна бегать буква J. Но почему-то...

В чем причина ошибки?
Код int main() { char arr; scanf(&quot;%s %s&quot;, &amp;arr, &amp;arr); printf(&quot;%s\n\n&quot;,...

В чем причина ошибки?
помогите разобраться почему выходит ошибка? #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include...

13
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
12.07.2013, 18:39 2
что почему?
0
6 / 6 / 1
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 18:40  [ТС] 3
Я хочу чтобы результат был примерно такой:
20
20
01127038
01127038
0
71 / 71 / 13
Регистрация: 13.05.2012
Сообщений: 130
12.07.2013, 18:41 4
Для того чтобы получить значение а нужно использовать операцию разыименования
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
 
int b=20;
 
int *a = &b;
 
int main()
{
    cout <<*a << endl;
    cout << b << endl;
    cout << &b << endl;
    cout << &a << endl;
system ("pause");
}
1
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
12.07.2013, 18:42 5
все верно
cout << a << endl; - выводится адрес на который указывает a
cout << b << endl; - выводится число записанное в b
cout << &b << endl; - выводится адрес переменной b
cout << &a << endl; - выводится адрес расположения в памяти указателя a
0
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 18:42 6
01127038 // адрес b
20 ты догадался почему
01127038 // адрес b
0112703c // адрес a
0
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
12.07.2013, 18:43 7
андрюха53, тогда уж
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
 
int b=20;
 
int *a = &b;
 
int main()
{
    cout <<*a << endl;
    cout << b << endl;
    cout << &b << endl;
    cout << a << endl;
system ("pause");
}
0
soican
12.07.2013, 18:43
  #8

Не по теме:

ой как много ответов

0
6 / 6 / 1
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 18:44  [ТС] 9
Цитата Сообщение от Valentina Посмотреть сообщение
Для того чтобы получить значение а нужно использовать операцию разыименования
Спасибо но результат:
20
20
01127038
0112703c -почемуто вместо 8 стоит с
0
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 18:46 10
Цитата Сообщение от андрюха53 Посмотреть сообщение
0112703c -почемуто вместо 8 стоит с
адреса разные в памяти
0
71 / 71 / 13
Регистрация: 13.05.2012
Сообщений: 130
12.07.2013, 18:46 11
Цитата Сообщение от Кудаив Посмотреть сообщение
#include<iostream>
using namespace std;
int b=20;
int *a = &b;
int main()
{
* * cout <<*a << endl;
* * cout << b << endl;
* * cout << &b << endl;
* * cout << a << endl;
system ("pause");
}
этот вариант правильный, а в моем случае получаются разные адреса
0
6 / 6 / 1
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 18:58  [ТС] 12
Цитата Сообщение от soican Посмотреть сообщение
адреса разные в памяти
Но ведь указатель и переменная одинаковый адрес
0
71 / 71 / 13
Регистрация: 13.05.2012
Сообщений: 130
12.07.2013, 19:04 13
Цитата Сообщение от андрюха53 Посмотреть сообщение
Но ведь указатель и переменная одинаковый адрес
У вас указатель на int а равен адресу b, но при этом указатель на int имеет свой адрес.
1
6 / 6 / 1
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 21:27  [ТС] 14
Цитата Сообщение от Valentina Посмотреть сообщение
У вас указатель на int а равен адресу b, но при этом указатель на int имеет свой адрес.
Ааа точно спасибо я перепутал указатели с ссылками
0
12.07.2013, 21:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2013, 21:27
Помогаю со студенческими работами здесь

подскажите в чем причина....
както все нетак... #include &lt;iostream&gt; using namespace std; int main(void) { for (int i =...

Незнаю в чем причина
Программа простая вы вводите элементы массива она проверяет если этот элемент больше 0 вводит его в...

В чем причина ошибки no match for?
Видает ошибку no match for 'operator=' in 'C = RyadokIdentifier::operator+(const...

В чем причина ошибки istream
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru