上級 › Assertion failed の原因と直し方 › パターン5
Assertion failed の原因と直し方
assert()に渡した条件式がその場でfalseになったときに強制終了するマクロです。
1 #include <stdio.h> 2 #include <assert.h> 3 4 int main(void) { 5 int count = 0; 6 assert(__________); ^ 7 printf("count=%d\n", count); 8 return 0; 9 }
main: main.c:6: main: Assertion `count != 0' failed.
Aborted
空欄を埋めてコンパイル・実行を通す
countが0であること自体は正常な場合もあります。「0はありえない」という誤った前提のassertは正常な状態でも落ちます。
次の問題