Не могу разобраться с программированием. - Компьютерные вопросы

Вопрос Не могу разобраться с программированием.

Регистрация
22 Ноя 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
Проблема с sizeof, а также CHAR_MAX и ему подобными. Для чего они нужны?
Почитала книги там все в общих словах (это перегруженные функции). А хотелось бы поподробнее, что к чему.
Сама прога:
#include
#include
#include
#include
main()
{
char c;
unsigned char uc;
int i;
unsigned u;
short s;
long l;
float f;
double d;
printf("sizeof(c)=%d sizeof(uc)=%d sizeof(i)
=%d sizeof(u)=%d sizeof(s)=%d sizeof(l)=%d
sizeof(f)=%d sizeof(d)=%d ", sizeof(c), sizeof(uc), sizeof(i), sizeof(u), sizeof(s), sizeof(l), sizeof(f), sizeof(d));
uc=c=CHAR_MAX;
printf("CHAR_MAX : c=%d uc=%d ", c, uc);
c++; uc++;
printf("CHAR_MAX+1 : c=%d uc=%d ", c, uc);
uc=c=CHAR_MIN;
printf("CHAR_MIN : c=%d uc=%d ", c, uc);
c=uc=UCHAR_MAX;
printf("UCHAR_MAX : c=%d uc=%d ", c, uc);
c++; uc++;
printf("UCHAR_MAX+1 : c=%d uc=%d ", c, uc);
uc=c=-5;
printf("-5 : c=%d uc=%d ", c, uc);
c=-5; uc=5;
printf("char and unsigned char -5>5 : %d ",
c>uc);
c=s=SHRT_MAX;
uc=s;
printf("SHRT_MAX : c=%d uc=%d s=%d ", c, uc, s);
s++;
printf("SHRT_MAX+1 : s=%d ", s);
c=s; uc=s;
printf("%d : c=%d uc=%d ", SHRT_MIN, c, uc);
s=0; c=s; uc=s;
printf("0 : c=%d uc=%d s=%d ", c, uc, s);
i=INT_MAX;
l=i; u=i;
printf("INT_MAX : i=%d u=%u l=%ld ", i, u, l);
i++; l++; u++;
printf("INT_MAX+1 : i=%d u=%u l=%ld ", i, u, l);
i=INT_MIN;
l=i; u=i;
printf("INT_MIN : i=%d u=%u l=%ld ", i, u, l);
u=UINT_MAX;
i=u; l=u;
printf("UINT_MAX : i=%d u=%u l=%ld ", i, u, l);
u=i=-5;
printf("-5 : i=%d u=%u ", i, u);
i=-5; u=5;
printf("int and unsigned int -5>5 : %d ", i>u);
c=-5; u=5;
printf("char and unsigned int -5>5 : %d ",
c>u);
i=5.1;
printf("i=5.1 : i=%d ", i);
i=5.9;
printf("i=5.9 : i=%d ", i);
d=f=FLT_MAX;
printf("FLT_MAX : f=%g d=%g ", f, d);
d=f=FLT_MIN;
printf("FLT_MIN : f=%g d=%g ", f, d);
d=f=FLT_EPSILON;
printf("FLT_EPSILON : f=%g d=%g ", f, d);
f=1e10;
printf("1e10 : f=%f ", f);
f=1e11;
printf("1e11 : f=%f ", f);
f=1234567890;
printf("1234567890 : f=%f ", f);
d=DBL_MAX;
printf("DBL_MAX : d=%g ", d);
d=DBL_MIN;
printf("DBL_MIN : d=%g ", d);
d=DBL_EPSILON;
printf("DBL_EPSILON : d=%g ", d);
d=1e15+1;
printf("1e15+1 : d=%lf ", d);
d=1e16+1;
printf("1e16+1 : d=%lf ", d);
f=10000*100000;
f+=1;
f-=4*250000000;
printf("1 : f=%f ", f);
f=10000*100000+1-4*250000000;
printf("1 : f=%f ", f);
d=10000*100000+1-4*250000000;
printf("1 : d=%lf ", d);
d=1e20*1e20+1000-1e22*1e18;
printf("1000 : d=%lf ", d);
system("pause");
return 0;
}
 
Сверху Снизу