-6

以下 C 代码中的以下条件是什么意思?

if (line[currChar] == '\"')
4

2 回答 2

5

它检查 line[currChar] 中的字符是否为 " 。它仍然是",尽管它被\转义了。

于 2012-11-26T12:40:55.223 回答
1

在寻求帮助时,通常最好在代码中显示变量的声明/初始化,这有助于回答问题。

反正大概line是一个字符数组,而且currChar是一个int。

int currChar;
char line[] = "Looking for a \" in the code\n");

for(currChar = 0; currChar < strlen(line); currChar++)
    if(line[currChar] == '\"')
        break;
if(currChar < strlen(line))
     printf("we found a \"!");

这是一个如何使用该条件的快速示例。字符串中的'\'字符是转义字符。所以如果我们想"在字符串中打印 a 你需要转义它,否则它将作为字符串的结尾(参见line[]上面的初始化)。

检查"不需要的字符时:

if(line[currChar] == '\"')  // This works...
if(line[currChar] == '"')    // so does this

因为"当没有匹配的引号时不会引起问题,但是如果你想在这里检查一个'字符,你需要一个。

于 2012-11-26T13:15:39.050 回答