回答編集履歴
5
追記
    
        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
追記
    
        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
修正
    
        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
追記
    
        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 | 
            +
            
         | 
1
追記
    
        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 | 
            +
            問題の箇所が歴然と示されていますが、似たような警告はでませんでしたか。
         | 
