На главную страницу

Решения к упражнениям из книги "Язык программирования С" Б. Керниган и Д. Ритчи

Упражнение 2.1.


Напишите программу для определения диапазонов переменных типов char, short, int и long (как signed, так и unsigned) путем вывода соответствующих значений из заголовочных файлов, а также с помощью непосредственного вычисления. Для второго способа усложним задачу: определите еще и диапазоны вещественных типов.
Комментарий: Непосредственное вычисление в программе не организовано. Предполагаю это делается с помощью операции sizeof().
----------
/* Exercise 2.1 from "The C programming language" book by K&R */
#include <stdio.h>
#include <limits.h>
#include <float.h>

int main(void)
{
	printf("Limits from limits.h:\n");
	printf("%d <= char <= %d\n", CHAR_MIN, SCHAR_MAX);
	printf("%d <= short <= %d\n", SHRT_MIN, SHRT_MAX);
	printf("%d <= int <= %d\n", INT_MIN, INT_MAX);
	printf("%ld <= long <= %ld\n", LONG_MIN, LONG_MAX);
	printf("%lu <= ulong <= %lu\n", (unsigned long)0, ULONG_MAX);
	printf("%e <= float <= %e\n", FLT_MIN, FLT_MAX);
	printf("%le <= double <= %le\n", DBL_MIN, DBL_MAX);
	return 0;
}
	
----------