我是想用户输入的数字不是一个的时候,返回到开始重新输入数字,但是运行时发现无限循环第一个printf,scanf好像是没运行,我不清楚为什么用continue会这样,希望能得到解答
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int magic,guess,counter=0;
int ret;
srand(time(NULL));
magic=rand()% 100+1;
do{
printf("Please guess a number:");
ret=scanf("%d",&guess);
if (ret!=1) continue;
counter++;
if (guess>magic)
printf("Wrong!Too big!\n");
else if (guess<magic)
printf("Wrong!Too Small!\n");
else
printf("Right!\n");
}while (guess!=magic && counter<10);
printf("counter = %d\n",counter);
return 0;
}