J'ai lu dans un texte que placer la ligne de préprocesseur suivante ignore toutes les directives de préprocesseur d'assertion suivantes. Mais cela ne semble pas fonctionner et l'instruction assert est traitée par le préprocesseur et annule le programme lorsque la condition dans l'assert n'est pas satisfaite (je sais que l'abandon est un comportement correct lorsque la condition assert n'est pas satisfaite). Ma question est pourquoi l'instruction assert n'est pas ignorée en plaçant #define NDEBUG. Le code estLe #define NDEBUG ne semble pas fonctionner
#include<stdio.h>
#include<assert.h>
#define NDEBUG
int main(){
int x = 0;
assert (x!=0);
}