Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ABORT.docx
Скачиваний:
2
Добавлен:
09.09.2019
Размер:
69.94 Кб
Скачать

Int errno;

main()

{

float x,y;

for (errno=EDOM;errno==EDOM;y=acos(x)) {

printf("Cosine=");

scanf("%f",&x);

errno = 0;

}

printf("Arc cosine of %f = %f\n",x,y);

}

Обрaзец выводa:

Cosine = 3

acos: DOMAIN error

Cosine = -1.0

Arc cosine of -1.000000 = 3.141593

ALLOCA

#include <malloc.h> требуется только для объявления

функции

char *alloca(size);

unsigned size; захваченные байты из стека

Описание.

Процедура alloca захватывает байты size из стека программы.

Захваченное пространство автоматически освобождается при выходе

из функции, вызвавшей alloca.

Возвращаемое значение.

Процедура alloca возвращает указатель char на захваченное

пространство.

В памяти, на которую указывает возвращаемое значение, га-

рантировано выравнивание для хранения любого типа объекта. Чтобы

получить указатель на тип, отличный от char, используется преоб-

разователь типа возвращаемого значения. Возвращается значение

NULL, если пространство не было захвачено.

См.также calloc, malloc, realloc.

Предупреждение. Значение указателя, возвращаемого процеду-

рой alloca, не может быть аргументом для free. Так как alloca об-

рабатывает стек, она должна использоваться только в простых опе-

раторах выделения и не должна использоваться в выражениях-аргу-

ментах функций.

Пример:

#include <malloc.h>

int *intarray;

/* захватывает память в стеке для 10 целых */

intarray=(int*)alloca(10*sizeof(int));

ASCTIME

#include <time.h>

char *asctime(time);

struct tm *time; указатель на структуру,

объявленную в <time.h>

Описание.

Функция asctime преобразует время, хранимое как структура,

в символьную строку. Значение time обычно получается из вызова

gmtime или localtime, которые возвращают указатель на структуру

tm, объявленную в <time.h> (cм. gmtime для описания полей струк-

туры tm). Результирующая строка, выработанная asctime, содержит

26 Символов и имеет форму, приведенную ниже в примере:

Mon Jan 02 02:03:55 1980\n\0

Используется 24 часа. Все поля имеют постоянную ширину.

Символ новой строки ('\n') и нулевой символ ('\0') занимают две

последние позиции в строке.

Возвращаемое значение.

Функция asctime возвращает указатель на символьную строку

результата. Возвращаемого значения в случае ошибки нет.

См.также ctime, ftime, gmtime, localtime, time, tzset.

Замечание. Функции asctime и ctime используют один и тот же

статистически захваченный буфер для хранения в нем строки резуль-

тата. Каждый вызов одной из этих процедур уничтожает результат

предыдущего вызова.

Пример:

#include <time.h>

#include <stdio.h>

struct tm *newtime;

long ltime;

.

.

.

time(&ltime); /*взять время в секундах*/

newtime=localtime(&ltime); /*преобразовать к структуре

tm и напечатать местное

время в виде строки*/

printf("the current date and time are %s\n",

asctime(newtime));

ASIN

#include <math.h>

double asin(x);

double x;

Описaние.

Функция asin вычисляет арксинус x в интервале -n/2 до n/2.

Значение x должно быть между -1 и 1.

Возвращаемое значение.

Функция asin возвращает результат арксинуса. Если x меньше

-1 или больше 1, asin устанавливает errno в EDOM, печатает сооб-

щение об ошибке DOMAIN в stderr и возвращает 0.

Обрaботкa ошибок может быть модифицировaнa при изменении

процедуры matherr.

См.тaкже acos, atan, atan2, cos, matherr, sin, tan.

Пример:

#include <math.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]