Добавить вывод на экран адресов всех переменных, а в конец – значений всех переменных - C (СИ)
Формулировка задачи:
Никак не могу найти ошибки.И еще, в начало программы добавить вывод на экран адресов всех переменных, а в конец – значений всех переменных
#include<stdio.h>
#include<conio.h>
int main(void)
{
int *a, b;
float *x, y = 3.5;
double *m, n;
a = &b;
printf(" Enter b = ");
scanf("%d", a);
x = &y;
printf(" a = %p\tb = %d\n", a, b);
getch();
b -= y;
printf(" a = %p\t*a = %d\tb = %d\n", a, *a, b);
getch();
m = a;
printf(" a = %p\tm = %p\n", a, m);
getch();
m = &n;
printf(" n = %p\tm = %p\n", &n, m);
getch();
n = 5.5;
m+=2;
printf(" n = %lf\tn = %p\tm = %p\n", n, &n, m);
getch();
*m = (float) *a - n + (int) *x;
printf(" m = %p\t*m = %lf\n", m, *m);
getch();
m -= 2;
printf(" n = %lf n = %p m = %p *(m+2) = %lf\n", n, &n, m, *(m+2));
getch();
return 0;
}Решение задачи: «Добавить вывод на экран адресов всех переменных, а в конец – значений всех переменных»
textual
Листинг программы
m = (double *)a;
Объяснение кода листинга программы
В данном коде происходит следующее:
- Переменная
aобъявлена как указатель на тип данных double. - Переменная
mобъявлена как указатель на тип данных double, и ей присваивается значение переменнойa. - В данном случае переменная
mбудет указывать на тот же адрес памяти, что и переменнаяa. - Так как указатель
mуказывает на переменнуюa, то при выводе адреса переменнойmбудет выводиться адрес переменнойa. - В конце кода, значения всех переменных будут выведены на экран.