C言語なら俺に聞け(入門篇) Part 7
■ このスレッドは過去ログ倉庫に格納されています
0312デフォルトの名無しさん
2007/02/07(水) 23:40:01以下の文字列があるとします
文字列 s = "abcdefgh"
a のある位置は0でhは7ですね(s[0]=='a' であり s[7]=='h')
p−s+1
この式では s=0 となります
次にpについて考えますが p=4 としましょう
pは'e'をさしているのは分かりますね
では p - s はいくつでしょうか?4ですよね
ところで'e'は文字列 s において何文字目にありますか?
5文字目ですよね.とすると 式 p−s では文字列 s において 位置pがさす文字は何文字目であるか?という答えと一致しません
これは最初の0番目をカウントしていないからです
そこでp−s+1 と+1することで0番目の文字もカウントするようにしているのです
■ このスレッドは過去ログ倉庫に格納されています