Cの「do--while」ステートメントの理解に問題があります。
完全なコードは次のとおりです:http://pastebin.com/uPRvRscd
プログラムは、0から50の範囲の6つの数字を生成します。6つの数字のいずれも繰り返されません。
これはdo-whileループです:
for(c=0;c<BALLS;c++)
{
/* See if a number has been allready been drawn */
do
{
ball = rand() % RANGE; /* Generate the random ball */
}
while(numbers[ball]); /* How is this compare made ? */
/* Number drawn */
numbers[ball] = 1; /* What is this for ?!? */
printf("%2d ", ball+1); /* add 1 to ball so ball won't be zero */
}
論理比較はどのように機能しますか?
私は、DOがWHILEが真であるか偽であるかによって異なることを知っています。
numbers[ball] = 1;
これは何をすることになっていますか?(削除しても結果は同じです)
ありがとうございました