Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" A "

abort 

abs, labs, llabs 

acos, acosf, acosl 

acosh, acoshf, acoshl 

alarm 

asin, asinf, asinl 

asinh, asinhf, asinhl 

asctime 

asctime_r 

assert 

atan, atanf,atanl 

atan2, atan2f, atan2l 

atanh, atanhf, atanhl 

atexit 

atoi 

atol 

atof 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

assert – вывод сообщения об ошибке и завершение работы программы

Синтаксис:

#include < assert.h >

void assert (int arg);

Аргументы:

arg – проверяемое условие.

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

Нет.

Описание:

Макрооперация assert проверяет значение аргумента arg и если аргумент равен нулю, то выводится диагностическое сообщение, содержащее имя программы, имя файла, номер строки и имя функции в которой была вызвана макрооперация assert. В противном случае не производится никаких действий.

Если до оператора #include < assert.h > была определена define-переменная NDEBUG, то макрооперация assert не производит никаких действий (в том числе не производится проверка значения аргумента arg).

Пример:

В примере создаются три переменные: arg1, arg2, arg3. Далее сравниваются переменные arg2 и arg3 и, если arg3 больше arg2, то переменной arg1 присваивается 0 (считаем, что программа отработала не верно), в противном случае 1 (считаем, что программа отработала верно). Далее с помощью макрооперации assert проверяется значение аргумента arg1 и если arg1 равен нулю, то выводится диагностическое сообщение и завершается работа программы.


#include < stdio.h >    //Для puts
#include < assert.h >   //Для assert
                     
int main (void)
{    
      int arg1=0, arg2=5, arg3=15;
      puts (“Start work”);

      //Проверка условия
      if (arg3>arg2) arg1=0;
      else arg1=1;
      //Проверка верности функционирования программы
      assert (arg1);

      puts (“End work”);
	 
   return 0; 
} 

Результат:

Start work
ts: test.c:13: main: Assertion ‘arg1’ failed
Аварийный останов



Смотри так же:

assert
abort(),
perror(),
strerror().


Яндекс.Метрика

Рейтинг@Mail.ru