コードベースには、次のような形式のループがいくつか含まれていますwhile((*assignment*) *condition*)
。
while((c = *s++) != '\0') {...}
while((i = getNext()) != NULL) {...}
残念ながら、これらにより、コンパイラは「条件内の割り当て」警告を発しますが、これは取り除きたいと考えています。私の計画は、ループを for(割り当て;条件;割り当て)の形式のwhile
ループに変換することです。たとえば、次のようになります。for
for(c = *s++; c != '\0'; c = *s++) {...}
for(i = getNext(); i != 0; i = getNext()) {...}
この変換は有効ですか? より良い代替手段はありますか?