teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

追記

2019/02/20 14:56

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -16,6 +16,7 @@
16
16
  - 大文字/小文字の判定には、isupper/islower関数が便利です。
17
17
  - 文字が'a'あるいは'A'のときの処理を決めておく必要があります。
18
18
  - カウンタiの宣言はfor文の初期化部で良いでしょう。 `for(int i = 0; ...`
19
+ - コマンドライン引数が与えられなかったときのチェックを入れた方が良いです。
19
20
  - そのほか、コンパイラが警告を吐く箇所がいくつかあります。
20
21
  ・ カウンタの型
21
22
  ・ 非明示的なmain関数の返り値の型

4

追記

2019/02/20 14:56

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -17,6 +17,9 @@
17
17
  - 文字が'a'あるいは'A'のときの処理を決めておく必要があります。
18
18
  - カウンタiの宣言はfor文の初期化部で良いでしょう。 `for(int i = 0; ...`
19
19
  - そのほか、コンパイラが警告を吐く箇所がいくつかあります。
20
+ ・ カウンタの型
21
+ ・ 非明示的なmain関数の返り値の型
22
+ ・ main関数の返り値の不足
20
23
 
21
24
  コードの書き方について
22
25
  ---

3

修正

2019/02/20 14:55

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  prog.c: In function 'main':
7
7
  prog.c:7:23: error: array subscript is not an integer
8
8
  7 | for(i = 0;i<strlen[str];i++){
9
- |
9
+ | ^
10
10
  ```
11
11
 
12
12
  問題の箇所が歴然と示されていますが、似たような警告はでませんでしたか。
@@ -15,7 +15,7 @@
15
15
  ---
16
16
  - 大文字/小文字の判定には、isupper/islower関数が便利です。
17
17
  - 文字が'a'あるいは'A'のときの処理を決めておく必要があります。
18
- - カウンタiの宣言はfor文の初期化部で良いでしょう。
18
+ - カウンタiの宣言はfor文の初期化部で良いでしょう。 `for(int i = 0; ...`
19
19
  - そのほか、コンパイラが警告を吐く箇所がいくつかあります。
20
20
 
21
21
  コードの書き方について

2

追記

2019/02/20 14:54

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -9,4 +9,17 @@
9
9
  |
10
10
  ```
11
11
 
12
- 問題の箇所が歴然と示されていますが、似たような警告はでませんでしたか。
12
+ 問題の箇所が歴然と示されていますが、似たような警告はでませんでしたか。
13
+
14
+ その他
15
+ ---
16
+ - 大文字/小文字の判定には、isupper/islower関数が便利です。
17
+ - 文字が'a'あるいは'A'のときの処理を決めておく必要があります。
18
+ - カウンタiの宣言はfor文の初期化部で良いでしょう。
19
+ - そのほか、コンパイラが警告を吐く箇所がいくつかあります。
20
+
21
+ コードの書き方について
22
+ ---
23
+ teratailには、コードを見やすく表示する機能があります。
24
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押して下さい。
25
+ ![C](4c6e48a3bd0707d89f61b901fd1f8915.gif)

1

追記

2019/02/20 14:52

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,1 +1,12 @@
1
- strlen[str] ⇒ strlen(str) では?
1
+ strlen[str] ⇒ strlen(str) では?
2
+
3
+ ---
4
+ 例えばgccで警告オプションをオンにしてコンパイルすると、次のようなメッセージが表示されます。
5
+ ```
6
+ prog.c: In function 'main':
7
+ prog.c:7:23: error: array subscript is not an integer
8
+ 7 | for(i = 0;i<strlen[str];i++){
9
+ |
10
+ ```
11
+
12
+ 問題の箇所が歴然と示されていますが、似たような警告はでませんでしたか。