Форум программистов, компьютерный форум CyberForum.ru

Набрать текст программы, представленный ниже. Проанализировать выдаваемые программой результаты - C++

Восстановить пароль Регистрация
 
visoger
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 17
09.11.2015, 11:25     Набрать текст программы, представленный ниже. Проанализировать выдаваемые программой результаты #1
Помогите пожалуйста с пояснением. ничего не понимаю . Буду благодарен! Спасибо!

Задача:
Набрать текст программы, представленный ниже. Проанализировать выдаваемые программой результаты. Объяснить, почему они именно такие.

Текст программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include<stdlib.h>
#include<stdio.h>
 
int main(void){
//Переменные
int a=1;
float b=2;
double c=3;
//Указатели
int *p1=&a;
float *p2=&b;
double *p3=&c;
void *p4;
// Адреса переменных и размер выделяемой памяти
printf("a:      int: start address %p extent %d\n",&a,sizeof(a));
printf("b:    float: start address %p extent %d\n",&b,sizeof(b));
printf("c:   double: start address %p extent %d\n\n",&c,sizeof(c));
//Адреса указателей и размер выделяемой памяти
printf("p1: pointer: start address %p extent %d\n",&p1,sizeof(p1));
printf("p2: pointer: start address %p extent %d\n",&p2,sizeof(p2));
printf("p3: pointer: start address %p extent %d\n\n",
        &p3,sizeof(p3));
//Значения, на которые ссылаются указатели
printf("p1: %p related value %d\n",p1,*p1);
printf("p2: %p related value %f\n",p2,*p2);
printf("p3: %p related value %lf\n\n",p3,*p3);
//Использование указателей в выражениях
printf("a=%d\tb=%f\tc=%lf\n",a,b,c);
*p1=5;
*p2=*p2*(*p1);  
*p3=sqrt(*p3);
printf("a=%d\tb=%f\tc=%lf\n",a,b,c);
printf("*p1=%d\t*p2=%f\t*p3=%lf\n\n",*p1,*p2,*p3);
//Присваивание указателей
p1=(int*)p2;
p3=(double*)p2;
p4=p2;
printf("p1=%p\tp2=%p\tp3=%p\tp4=%p\n",p1,p2,p3,p4);
printf("*p1=%d\t*p2=%f\t*p3=%lf\t*(float*)p4=%f\n\n",
        *p1,*p2,*p3,*(float*)p4);
//Изменение значений указателей
p1++;
p3--;
printf("p1=%p\tp2=%p\tp3=%p\n",p1,p2,p3);
printf("*p1=%d\t\t*p2=%f\t*p3=%lf\n",*p1,*p2,*p3);
p1-=4;
p3=(double*)&a-1;
printf("p1=%p\tp2=%p\tp3=%p\n",p1,p2,p3);
printf("*p1=%d\t*p2=%f\t*p3=%lf\n",*p1,*p2,*p3);
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2015, 11:25     Набрать текст программы, представленный ниже. Проанализировать выдаваемые программой результаты
Посмотрите здесь:

C++ Нужно записать результаты программы в два файла, а компилятор ругается
Как удалить файл программы с винчестера самой программой? C++
C++ Составить и набрать в среде программирования текст программы
Криво выводит результаты программы в файл C++
Не выводит в консоль результаты работы программы C++
C++ Найти среднее значение ниже главной и ниже обратной диагонали
Найти среднее значение ниже главной и ниже обратной диагонали C++
C++ Разные результаты программы при постоянных входных значениях

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru