foo.c:3:1: error: unknown type name ‘bool’
    3 | bool zhishu(int num)
      | ^~~~
foo.c:2:1: note: ‘bool’ is defined in header ‘<stdbool.h>’; did you forget to ‘#include <stdbool.h>’?
    1 | #include <stdio.h>
  +++ |+#include <stdbool.h>
    2 | 
foo.c: In function ‘zhishu’:
foo.c:7:16: error: ‘false’ undeclared (first use in this function)
    7 |         return false;
      |                ^~~~~
foo.c:7:16: note: ‘false’ is defined in header ‘<stdbool.h>’; did you forget to ‘#include <stdbool.h>’?
foo.c:7:16: note: each undeclared identifier is reported only once for each function it appears in
foo.c:15:12: error: ‘true’ undeclared (first use in this function)
   15 |     return true;
      |            ^~~~
foo.c:15:12: note: ‘true’ is defined in header ‘<stdbool.h>’; did you forget to ‘#include <stdbool.h>’?
foo.c:16:1: warning: control reaches end of non-void function [-Wreturn-type]
   16 | }
      | ^