C言語で偶数目の文字を表示する

[code]

    #include <stdio.h>
    #include <string.h>
    
    int main(){
        int len, i;
        char ch[] = "today";
        len = strlen(ch);
    
        for(i = 0; i < len; i++){
            if(i % 2 == 0){
                printf("%s\n", ch[i]);
            }
        }
    
        return 0;
    }
    
[/code]

といったプログラムを作りました。  
これを実行すると偶数目であるoとaが表示されると思ったのですが、表示されません。  
なぜでしょうか？




`ch[i]` は文字ですので、`printf` の書式文字列には `%c` を指定します。(なお、"o" と "a"
を表示したい場合は、条件を少し変更する必要があります。)




i が 0 から始まっているからです。  
以下の様な条件にすると期待する動きになります。

[code]

    if ((i + 1) % 2 == 0) {
    
[/code]

あと、printf文は %c を使うよう、修正する必要があります。

[code]

    printf("%c\n", ch[i]);
    
[/code]

