if文は、カッコ内の条件を満たしたときの処理、満たさなかったときの処理を実行する機能を持つ。
このとき、条件文が返す値は使用するOSによって違うが、C言語では次のように処理している。
条件を満たす(真) 0以外の値
(何が返ってくるかは未定)条件を満たさない(偽) 0 つまり、下記if文は、どちらも同じ意味になる。
例1 if (islower(c) != 0)
真のときの処理;
else
偽のときの処理;例2 if (islower(c))
真のときの処理;
else
偽のときの処理;
文字列の最後には必ずヌル文字('\0')が必要である。ヌル文字は文字コード表で見ると「0x00」、つまり「数値の0」のことである。
よって、下記代入文は、どちらも同じ意味になる。
例1 str[i] = '\0'; 例2 str[i] = 0; ということは、条件文でヌル文字まで繰り返すという記述は、次のように書くこともできる。
今までの書き方 while ( str[i] != '\0')別解1 while ( str[i] != 0)別解2 while ( str[i])