$ cat test.c
#include<stdio.h>
#define PRINT(s) printf(#s);
int main(void){
PRINT(use \ ("backslash") not /);
return 0;
}
$ gcc -E test.c |tail
# 679 "/usr/include/stdio.h" 3
# 2 "test.c" 2
int main(void){
printf("use \ (\"backslash\") not /");
return 0;
}
$gcc -g -o test test.c
test.c:4:40: warning: unknown escape sequence: '\040'
Why is \ not put in before \ ?
observe that \ is put before " i.e., in (\"backslash\")