关于单双引号的一点问题
今天翻书的时候无意发现一个问题:程序代码:
#include <stdio.h> #define STOP '.' int main(void) { char ch; int count = 0; while ((ch = getchar()) != STOP) { if (ch != '"' && ch != '\'') count++; } // endof while printf("这里有%d个非引号字符。\n", count); return 0; }
为什么if语句中单引号需要加\来转义,而双引号不需要加\来转义?