Технический форум

Технический форум (http://www.tehnari.ru/)
-   C/C++/С# (http://www.tehnari.ru/f42/)
-   -   Указатели в C (http://www.tehnari.ru/f42/t99856/)

Sopel 01.12.2014 20:04

Указатели в C
 
Вложений: 1
Доброе время суток. У меня вопрос такой:
Вот код. Компилировал в visual studio 2012. Почему в этом месте появляется такая вот борода? (В другом компиляторе "Code::Blocks" эта борода обращается в нули)
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int *a, b;
float *x, y = 3.5;
double *m, n;
printf("a=%p\tb=%p\tx=%p\ty=%p\tm=%p\tn=%p\n",&a,& b,&x,&y,&m,&n);
a = &b;
printf(" Enter b = ");
scanf("%d", &b);
x = &y;
printf(" a = %p\tb = %d\n", a, b);
b -= y;
printf(" a = %p\t*a = %d\tb = %d\n", a, *a, b);
m = (double*)a;
printf(" a = %p\tm = %p\n", a, m);
m = &n;
printf(" n = %p\tm = %p\n", &n, m);
n = 5.5;
*m+=2;
printf(" n = %lf\tn = %p\tm = %p\n", n, &n, m);
*m = (double)*a - n + (double)*x;
printf(" m = %p\t*m = %lf\n", m, *m);
*m -= 2;
printf(" n = %lf n = %p m = %lf *(m+2) = %lf\n", n, &n, *m, *(m+2));
printf("a=%d\tb=%d\tx=%f\ty=%lf\tm=%lf\tn=%lf\n",* a,b,*x,y,*m,n);
system("pause");
return 0;
}


Часовой пояс GMT +4, время: 06:30.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.