1

startプログラムの他の場所で値が既に計算されている変数の for ループを作成しています。

実行すると警告for(start; start<end; start++)が表示され、

for(start=start; start<end; start++)不要な割り当てのようです。

私が考えることができる他のオプションは次のとおりです--これは大丈夫ですか、それともコーディングスタイルが悪いと分類しますか?

for(; start<end; start++){
    //do stuff
}
4

4 に答える 4

5

whileそれは私見のコーディングスタイルが悪いわけではありませんが、代わりにa を使用したいですか?

while (start < end)
{
  //do stuff
  ++start;
}

それは本当に好みの問題です。

于 2012-04-09T00:25:07.413 に答える
3

forループのどの部分を残しても問題ありません。すべてのパーツを省略しても問題ありません。実際、これはK&R の本に示されているように、無限ループを表現する慣用的な方法です。

ただし、他のオプションを慎重に検討する必要があります。whileまたはdo/whileループがより読みやすい代替手段を提供する可能性があります。

于 2012-04-09T00:26:30.967 に答える
1

はい、できます。iただし、反復するときに start の値を変更しているため、start などの変数に割り当てることをお勧めします。

于 2012-04-09T00:24:51.903 に答える
0

目的の結果を得るには、次のようにコードを記述できます。

while(start++<end){
    // your code
}

変数名の後に「++」を追加すると、条件ステートメントでチェックされた後に変数がインクリメントされるという事実を利用できます。

于 2012-04-09T00:29:49.657 に答える