質問です。
配列に格納された文字列を1文字ずつ表示する関数。

void put_st(const char str[])
{
unsigned i=0;

while(str[i])
putchar(str[i++]);
}

これをprintf関数を用いるとコンパイルは出来るのですが、
実行途中でエラーがでます。
printf("%s",str[i++]);

なぜでしょうか?
どう直したらいいのでしょうか?

おねがいします。