0

これを for ループに変更しようとしていますが、方法がわかりません。

while((c = getchar()) != EOF){
    tweet[cnt] = c;
    ++cnt;
}
4

2 に答える 2

2
for(cnt = 0; (c = getchar()) != EOF; cnt++)
{
    tweet[cnt] = c;
}
于 2013-01-25T18:49:29.327 に答える
1

while ループと for ループはそれほど違いはありません。while ループには比較のみが含まれます。true の場合、比較が行われるまでもう一度実行され、true ではなくなります。

for ステートメントは同じで、';' で区切られた 3 つの部分のみが含まれています。1つ目は、終わりのないサイクルに入る前に一度やりたい部分です。2 番目の部分は while ループと同じです。3 番目の部分は、1 つのサイクルが完了した後、再度入力するための次の比較に進む前に実行したいことです。

多くのコンパイラは、最初と最後の部分で複数のステートメントを受け入れます。この場合、次のように取得できます。

for(cnt=0; , x=0 ; (c=getchar()) != EOF; CNT++, x++){
    tweet[cnt] = c;
}
int TheNumberOfCyclesMade = x;
于 2013-01-25T19:02:45.730 に答える