2016-09-04 4 views
-3
printf("How many words to play with:"); 
scanf("%d",&end); 
printf("How many letters to play with:"); 
scanf("%d",&let); 
char a[let]; 
char b[let]; 
     while(i<end){ 
     ranW(let); 
     printf("Word: %s\n:",a); 
     gets(b); 

     if (strcmp(a,b) == 0) { 
      printf("Match\n"); 
      ++i; 
     } else { 
      printf("Do not match\n"); 
     } 
    } 

частичнопока не ждет первый получает()

printf("Word: %s\n:",a); 
    gets(b); 

он просто переходит к следующему аргументу в первом цикле и не ждать ввода. Но в других циклах все нормально. Я новичок на сайте soo i coulnt публикую весь мой код, если вам нужно все, что я могу ему предоставить.

+0

Возможно, вы достигли 'EOF'? – redneb

+0

Или, может быть, вход в систему прошел? – AndyG

+3

[Никогда, никогда не используйте 'gets()'] (http://stackoverflow.com/q/1694036/1679849) –

ответ

0

После некоторого исследования я использовал этот код для решения проблем.

ranW(let, a); 
printf("Word: %s\n",a); 
fflush(stdin); 
fgets(b,(sizeof b)+1 ,stdin); 

Я все еще могу использовать совет, если это неправомерно использовать.

Смежные вопросы