2016-10-06 1 views
0

だから、0や11などの数字を入力できないようにしたいと思います。netbeans 8.1 (GNU cygwin)を使用しています。私はwhileループが使用されていないことを発見しました。そして、バインドされた番号を保証するために作られたループに関係なく、ターミナルは成功したビルドを実行します。初等C問題

int main(int argc, char** argv) { 
int x; 
int guess = 0; 
srand(time(NULL)); 

x = rand() % (10) + 1; 

printf("random number is %d. \n", x); 

printf("whats your guess? 3 tries. between 1 and 10 \n"); 
scanf("%d", guess); 

while (guess >10 || guess < 0){ 
    printf(" your guess is out of the bounds (1 to 10) re enter: \n"); 
    scanf("%d", guess); 
} 

return (EXIT_SUCCESS); 

}

任意のアイデア? 私は後で 'x'といくつかの比較をするつもりです。

+0

「scanf()」コールから返される値は何ですか?あなたは失敗をテストしていません。 –

+8

'guess'の前にアンパサンドを置く必要があります...' scanf( "%d"、&推測); ' – yano

+0

デバッガを使用できない場合は、少なくともそこにいくつかのprint文を追加して助けてください。 'fprintf(stderr、"推測=%d \ n "、推測);をいくつかの場所に追加することをお勧めします。 – nategoose

答えて

1

スキャンf文に&(アンパサンド)が必要です。

scanf("%d", &guess);