所以我想检查是否有人从键盘输入\n
('\'
然后'n'
)到字符串,所以我做了这样的事情:< / p>
if ( ((str[i] == '\') && (str[i+1] == 'n')) ) {
//...
}
然而,这不起作用,因为它将\
识别为转义字符并且整个事情都会中断。
有更好的方法吗?
答案 0 :(得分:5)
你必须通过加倍来逃避\
:
if ( ((str[i] == '\\') && (str[i+1] == 'n')) ){
}
答案 1 :(得分:2)
实际反斜杠的转义序列为\\
,例如
char c = getchar();
if(c == '\\')
... stuff ...
答案 2 :(得分:1)
比较\像这样。
if ((str[i] == '\\') && (str[i+1] == 'n'))
因为我们必须逃避转义序列\。
答案 3 :(得分:0)
您可以使用ASCII值,而不是转义字符
if ((str[i] == 92) && (str[i+1] == 'n'))
;
答案 4 :(得分:0)
你使用另一个\
if ( str[i] == '\\' && str[i+1] == 'n');
答案 5 :(得分:-1)
如果用户使用键盘输入\
和n
,
然后尝试这样
if(str[i] == '\\' && str[i+1] == 'n')
由于\
由\\
表示,因此请使用\\
代替\
进行检查。