-2
なぜこのようなsmthngを書くことができないのですか?C - whileループ初期化子の演算子
int i, size;
int *arr;
...
for(i = size - 1, while(arr[i] == 0) i--; i >= 0; i--) { ... }
なぜこのようなsmthngを書くことができないのですか?C - whileループ初期化子の演算子
int i, size;
int *arr;
...
for(i = size - 1, while(arr[i] == 0) i--; i >= 0; i--) { ... }
これは何をしたいのためのソリューションがあるかもしれないC.
中だけで有効な構文ではありません:
int i, size;
int *arr;
...
for(i = size - 1; i >= 0; i--) {
if (arr[i] == 0)
continue;
...
}
あなたはたくさんのことを書くことができない同じ理由 - それはです有効なC構文ではありません。 –
短い答え - 言語の文法はそれを許さないので、 'for'ステートメントの制御式は他の*ステートメント*にすることはできません。 *なぜ*文法がそうであるかについては、デニスリッチーに尋ねる必要があります。彼はもはや周囲にいません。 –
言語では*の式のみが許可され、ステートメントは許可されないためです。 –