$ cat ./20.c #include #include main() { char unsigned ch; ch = '\20'; printf("is byte \"%c\" NULL?\n", ch); if (ch == '\0') { printf("yes, ch = \\%o\n", ch); } else if (isascii(ch)) { printf("no (but is ascii), ch = '%c'\n", ch); } else { printf("no, ch = \\%o\n", ch); } } $ gcc ./20.c -o 20 ./20.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int] main() { ^~~~ $ ./20 is byte "" NULL? no (but is ascii), ch = ''