回答編集履歴
1
誤記の修正
answer
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
4. C言語では、文字列はchar型の配列として表現されており、配列と配列は、直接、==演算子等で比較することができない
|
7
7
|
5. 直接比較できない理由は、配列の名前(lineなど)を書くと、その先頭の要素の位置(アドレス)を表すことになっていて、アドレスとアドレスを比較するという意味になってしまうから
|
8
8
|
6. ""で囲まれた文字列(リテラル)も、そのような文字列を格納している配列の先頭の要素の位置(アドレス)を表している
|
9
|
-
7. つまり質問文で提示された条件式の場合、異なる配列のアドレスを比較することになってしまい、条件式が成り立つ
|
9
|
+
7. つまり質問文で提示された条件式の場合、異なる配列のアドレスを比較することになってしまい、条件式が常に成り立つ(修正しました)
|
10
10
|
8. なぜ配列の名前を書くと、アドレスを意味する仕様になっているかを書くと、C言語の開発者が、「そのほうがポインタを扱う際に便利だから」と考えたから
|
11
11
|
9. C++言語の標準ライブラリでは、演算子を利用して比較することができるよう改善された
|
12
12
|
|