3

このプログラムがどのように実行され、エラーがスローされないのか疑問に思っています。

void main( ) 
{ 
    clrscr();
    int i ; 
    for ( i = 1 ; i <= 5 ; printf ( "\n%c", 65 ) ) ; 
        i++ ;
    getch(); 
} 

ループは A を永遠に印刷し続けます。forループのフォーマットは

for(initialize value; test counter; increment value)
{
    do this;
    and this;
    and this;
}

私の質問は、どのように printf("\n %c", 65) 値をインクリメントできますか?

4

6 に答える 6

0
for(initialize value; condition; increment value/decrement value)
{
    do this;
    and this;
    and this;
}
you can write many initializations, many increments/decrements but we have to write only one condition 

ie( i = 1 ; i <= 5 ; printf ( "\n%c", 65),i++ ); これはあなたのために働くでしょう。

于 2013-07-29T13:27:35.097 に答える
0

for ( i = 1 ; i <= 5 ; printf ( "\n%c", 65 ) ) ;それ自体はステートメントiであり、このステートメントではインクリメントされないため、無限ループになります。

これは、空のループと呼ばれます。これは、空の for ループに似ています。

無限ループなし

for ( i = 1 ; i <= 5 ; printf ( "\n%c", 65 ) ){
   i++;
} 
于 2013-07-29T13:21:48.637 に答える
0

上記のように、「;」であるため、i++ に到達できないためです。for ステートメントの後は、本体が空白の for と同じです。

このループは次のように記述できます。

for ( i = 1 ; i <= 5 ; printf ( "\n%c", 65 ) , i++);

明示的なブロックを書かずに同じ効果を得るため。

于 2013-07-29T13:33:21.767 に答える