-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 に答える