回答編集履歴

6

2016/11/01 15:57

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  つまりstrcmpの文字列が等しいときの戻り値0になります。
8
8
 
9
- しかし要素数が等しくない場合でも先にどちらかの文字終端\0がでてきた時点で*s1==*s2が満たせずwhile文をけるので問題なし
9
+ しかし要素数が等しくない場合でも先にどちらかの文字終端\0がでてきた時点で*s1==*s2が満たせずwhile文をけるので問題なし
10
10
 
11
11
 
12
12
 

5

a

2016/11/01 15:57

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- いいえ、違います。引数としては別に異なる長さの文字列2つでも良いです。たとえばs1とS2が全て等しい場合、S1の要素が/0の時、S2の要素も/0となり、その時は文字列数も同じで retuern 0
5
+ いいえ、違います。引数としては別に異なる長さの文字列2つでも良いです。たとえばs1とS2が全て等しい場合、S1の要素が\0の時、S2の要素も\0となり、その時は文字列数も同じで retuern 0
6
6
 
7
7
  つまりstrcmpの文字列が等しいときの戻り値0になります。
8
8
 

4

補足

2016/11/01 15:31

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -29,3 +29,11 @@
29
29
 
30
30
 
31
31
  本来S1>S2として結果をかえしたいのに、S1<S2となってしまう。
32
+
33
+
34
+
35
+ ###補足
36
+
37
+
38
+
39
+ 回答を終わって他の回答者様の回答の1の方をみてぎょっとしましたので、そこだけほそく、*S1==\0だけでS2のほうは評価していないのに、等しいと判断しているのはwhile文の*S1==*S2がなりたっているからで、それは要素数が同じ前提という事です、私が違いますといったのは、strcmpは2つの文字列が同じ要素数しか受け付けないわけではないという意味での「違います」です。

3

修正

2016/11/01 15:30

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  つまりstrcmpの文字列が等しいときの戻り値0になります。
8
8
 
9
- しかし要素数が等しくない場合でも先にどちらかの文字終端\0がでてきた時点でwhile文をぶけるので問題なし
9
+ しかし要素数が等しくない場合でも先にどちらかの文字終端\0がでてきた時点で*s1==*s2が満たせずwhile文をぶけるので問題なし
10
10
 
11
11
 
12
12
 

2

修正

2016/11/01 15:26

投稿

hiim
hiim

スコア1689

test CHANGED
File without changes

1

修正

2016/11/01 15:25

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- いいえ、違います。たとえばs1とS2が全て等しい場合、S1の要素が/0の時、S2の要素も/0となり、retuern 0
5
+ いいえ、違います。引数としては別に異なる長さの文字列2つでも良いです。たとえばs1とS2が全て等しい場合、S1の要素が/0の時、S2の要素も/0となり、その時は文字列数も同じで retuern 0
6
6
 
7
7
  つまりstrcmpの文字列が等しいときの戻り値0になります。
8
8