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