Nome da função : afirmar
Arquivo de cabeçalho : <assert.h>
Protótipo de função : void assert (expressão int);
Função : Afirmar se uma expressão está correta
Parâmetro : expressão Se seu valor for falso (ou seja, 0), ele primeiro imprime uma mensagem de erro em stderr e, em seguida, encerra o programa chamando abort.
Valor de retorno : Sem valor de retorno
Reabastecer :
1. Chamadas frequentes afetarão muito o desempenho do programa e aumentarão a sobrecarga adicional. Após a depuração, você pode desabilitar chamadas de afirmação inserindo #define NDEBUG antes da instrução que contém #include <assert.h>.
2. Verifique a legalidade dos parâmetros passados no início da função.
3. Cada afirmação testa apenas uma condição, porque quando múltiplas condições são testadas ao mesmo tempo, se a afirmação falhar, é impossível determinar intuitivamente qual condição falhou.
4. Você não pode usar instruções que alteram o ambiente, porque assert só tem efeito em DEBUG. Se você fizer isso, encontrará problemas quando o programa ignorar a instrução assert quando estiver realmente em execução, como:
erro:
afirmar(i++<100);
Isso ocorre porque se ocorrer um erro, por exemplo, i=100 antes da execução, então esta instrução não será executada e o comando i++ não será executado.
correto:
afirmar(i<100);i++;
5. Deve haver uma linha em branco entre assert e as seguintes afirmações para criar um senso de consistência lógica e visual.
6. Em alguns lugares, assert não pode substituir a filtragem condicional. Assert é usado para evitar erros óbvios, não para lidar com exceções. Erros e exceções são diferentes. Erros não deveriam ocorrer e as exceções são inevitáveis. As exceções da linguagem C podem ser tratadas por meio de julgamento condicional, e outras linguagens possuem seus próprios mecanismos de tratamento de exceções. Uma regra muito simples para usar assert é usá-lo no início de um método ou função. Se você usá-lo no meio de um método, você precisa considerar cuidadosamente se é apropriado. Um processo funcional não foi iniciado no início do método, e os problemas que ocorrem durante a execução de um processo funcional são quase todos exceções.
Exemplo de programa : Afirme a variável a<80 e produza o resultado
#include<assert.h>#include<stdio.h>intmain(void){inta=50;assert(a<80);//Afirma a<80, se for 0, gera uma mensagem de erro e encerra o programa , caso contrário, continue a executar printf (Assertaistruen);return(0);}
Resultados em execução:
Afirmar verdade