配列の文字列数を調べるために、配列に文字が入っているかどうかを調べたいのですがどうすればいいでしょうか?

//word[i]は入力した文字列
int moji;
for (int i=0;i<=40;i++){
   if(word[i] >= 0) moji = i-1; break;
}

これでword[i]の文字を一文字ずつずらして調べたんですが、条件がどうもうまくいかないみたいです。