質問編集履歴
7
URLコピペに忘れた
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
よろしければこちらのアイデアについて
|
|
9
9
|
ご意見がうかがえると嬉しいです
|
|
10
|
+
https://togetter.com/li/1198124
|
|
10
11
|
|
|
11
12
|
|
|
12
|
-
|
|
13
13
|
学業を収めることが卒業するために必要なんだから
|
|
14
14
|
趣味よりもそちらを最優先したほうがいいのではないかと思いました。
|
|
15
15
|
なので、こちらでの質問の返信は一時停止します。
|
6
質問の終了
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
2018/2/11
|
|
2
|
+
区切りの為に書きます
|
|
3
|
+
この投稿にもう私が投稿するころはありません
|
|
4
|
+
皆さん質問ありがとうございました
|
|
5
|
+
回答者の方々どうしで議論するために使ってください
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
よろしければこちらのアイデアについて
|
|
9
|
+
ご意見がうかがえると嬉しいです
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
1
13
|
学業を収めることが卒業するために必要なんだから
|
|
2
14
|
趣味よりもそちらを最優先したほうがいいのではないかと思いました。
|
|
3
15
|
なので、こちらでの質問の返信は一時停止します。
|
5
謝罪
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
学業を収めることが卒業するために必要なんだから
|
|
2
|
+
趣味よりもそちらを最優先したほうがいいのではないかと思いました。
|
|
3
|
+
なので、こちらでの質問の返信は一時停止します。
|
|
4
|
+
せっかく答えてくださったのに、すぐに返信できずすみません
|
|
5
|
+
|
|
1
6
|
### 前提・実現したいこと
|
|
2
7
|
|
|
3
8
|
プログラミング作法
|
4
コードが隠れるのが嫌だから詰めたら直るかと思った
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -13,14 +13,11 @@
|
|
|
13
13
|
次の関数を改良せよという問題です
|
|
14
14
|
```c
|
|
15
15
|
0#include <string.h>
|
|
16
|
-
1 int smaller(char *s, char *t)
|
|
16
|
+
1 int smaller(char *s, char *t){
|
|
17
|
-
2 {
|
|
18
|
-
|
|
17
|
+
2 if (strcmp(s, t) < 1)
|
|
19
|
-
|
|
18
|
+
3 return 1;
|
|
20
|
-
|
|
19
|
+
4 else
|
|
21
|
-
|
|
20
|
+
5 return 0;}
|
|
22
|
-
7}
|
|
23
|
-
|
|
24
21
|
```
|
|
25
22
|
|
|
26
23
|
### 試したこと・解答例
|
|
@@ -38,7 +35,7 @@
|
|
|
38
35
|
|
|
39
36
|
なので前述のコードだとstr1とstr2が等しい場合にも1が返ってくる
|
|
40
37
|
"smaller than"は「より小さい」と訳す、これは「未満」とも言い換えられるが、比較対象と自分自身が等しい場合も含める「以下」とは訳せない。
|
|
41
|
-
よって二つの引数が等しい場合に0を返すようにに
|
|
38
|
+
よって二つの引数が等しい場合に0を返すようにに2行目だけ次のように書き換える。
|
|
42
39
|
```c
|
|
43
40
|
if (strcmp(s, t) < 0)
|
|
44
41
|
```
|
3
補足を正確にした
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
### 補足情報
|
|
49
49
|
|
|
50
|
-
cでは数値の0以外が真になるので1が真、0が偽であることを自明として扱ったが
|
|
50
|
+
cのif文の条件分岐では数値の0以外が真になるので1が真、0が偽であることを自明として扱ったが
|
|
51
51
|
```c
|
|
52
52
|
#define TRUE 1
|
|
53
53
|
#define FALSE 0
|
2
補足の追加
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -54,8 +54,9 @@
|
|
|
54
54
|
```
|
|
55
55
|
みたいな文を付け加えて真偽を明示すべきかということと
|
|
56
56
|
|
|
57
|
-
関数名smallerの名前の変え方、「引数1番目は引数2番目より短いか」と「引数2番目は引数1番目より短いか」の二重の解釈ができるが、これは引数1番目を主語とするのが普通(?)で、文脈も読み取った解釈だと普通(?)は前者を選択するからsmallerのままでいいのではないか
|
|
57
|
+
関数名smallerの名前の変え方、「引数1番目は引数2番目より短いか」と「引数2番目は引数1番目より短いか」の二重の解釈ができるが、これは引数1番目を主語とするのが普通(?)で、文脈も読み取った解釈だと普通(?)は前者を選択するからsmallerのままでいいのではないかと思えて、自分はあまりこの関数の名前を修正する必要を感じない
|
|
58
|
+
|
|
58
|
-
それともそのことを明示した関数名に
|
|
59
|
+
それともそのことを明示した関数名にしたほうがいいか。
|
|
59
60
|
例えば
|
|
60
61
|
「最初の変数が次の変数より小さいか」をgoogle翻訳した
|
|
61
62
|
「Whether the first variable is smaller than the next variable」
|
1
初心者マークの追加とタイトルをわかりやすくした
title
CHANGED
|
@@ -1,1 +1,1 @@
|
|
|
1
|
-
プログラミング作法 問題1-2(
|
|
1
|
+
プログラミング作法 問題1-2(新装版の場合21p)の解答について
|
body
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
str1<str2ならば負の値を返す。
|
|
38
38
|
|
|
39
39
|
なので前述のコードだとstr1とstr2が等しい場合にも1が返ってくる
|
|
40
|
-
"smaller than"は「より小さい」と訳す、これは「未満」とも言い換えられるが比較対象と自分自身が等しい場合も含める「以下」とは訳せない。
|
|
40
|
+
"smaller than"は「より小さい」と訳す、これは「未満」とも言い換えられるが、比較対象と自分自身が等しい場合も含める「以下」とは訳せない。
|
|
41
41
|
よって二つの引数が等しい場合に0を返すようにに3行目だけ次のように書き換える。
|
|
42
42
|
```c
|
|
43
43
|
if (strcmp(s, t) < 0)
|