2012-03-03 2 views
0

問題は私のループから抜け出す方法がわかりません。Cのループから抜けることで固まった

printf ("Do you order fish? (Y/N): "); 
scanf ("%c", &f); 

while((f == 'y')||(f == 'Y')) 
{ 
    do { 
    fish = getfish_choice(); 
    printf ("Total of you fish is %.2lf\n", sum); 
    printf ("Do you want to order more fish?(Y/N)"); 
    scanf (" %c", &morefish); 
    } 
    while ((morefish=='Y')||(morefish=='y')); 
} 

Printf ("Hello"); 

このループを終了してコードの出力にHelloが表示されるようにするにはどうすればよいですか?

答えて

2

whileループの条件は、fです。しかし、fを変更することはありません。

おそらく最初のwhileは実際にはifである必要があります。

1

変更がある場合にwhileループ外: if(f == 'y'||f == 'Y')

+0

はあなたに非常に多くのみんなありがとう:

あなたも、二つのループを必要としない(fは変更されることはありません)! –

1

happenning何がYまたはyが入力されたとき、あなたは内側のループから抜け出すために管理するということですが、あなたはまだ外側のループで立ち往生しています。

printf ("Do you order fish? (Y/N): "); 
scanf ("%c", &morefish); 

while ((morefish=='Y')||(morefish=='y')){ 
    fish = getfish_choice(); 
    printf ("Total of you fish is %.2lf\n", sum); 
    printf ("Do you want to order more fish?(Y/N)"); 
    scanf (" %c", &morefish); 
} 

printf ("Hello"); 
+1

ありがとう!グレート・ゴブ! –

関連する問題