なんで do-while になってるんだろう。
もっと単純に考えようぜ。

まず、文字を1つずつ取得していくループを書く。

for(i = 0; /* 文字列が終了するまで */; i++) {
 /* s[i] で文字を先頭から順番に走査していける */
}

んで次に、c が見つかったらインデックスを返すようにする。

for(i = 0; /* 文字列が終了するまで */; i++) {
 /* s[i] が c なら i を返す */
}

そして、検索しても c が見つからなかった場合は -1 を返す。

for(i = 0; /* 文字列が終了するまで */; i++) {
 /* s[i] が c なら i を返す */
}
/* -1 を返す */

これでおk。