次の C コードの次の条件は何を意味しますか?
if (line[currChar] == '\"')
line[currChar] の文字が " かどうかをチェックします。 \でエスケープされていますが、"のままです。
助けを求めるときは、通常、コード内の変数の宣言/初期化を表示するのが最善です。質問に答えるときに役立ちます。
とにかく、おそらく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
"
一致する引用符がない場合に問題が発生することはありませんが、ここで'
文字を確認したい場合は、文字が必要になります.