Не работает scanf и getchar после циклов - C (СИ)
Формулировка задачи:
Добрый день, проблема возникла следующая - функции гетчар и сканэф не вызываются после циклов for.
Если поставить эти функции до циклов, то все нормально, происходит ожидание ввода, ввод, дальнейшее выполнения программы. А вот если эти функции стоят после цикла или внутри него, то они просто напросто не работают, не происходит задержка для ввода.
В чем проблема?
заранее спасибо.
вот сам код. не работает гетчар в цикле, который начинается с for(k=2;f!=1;k++), аналогично в этом же месте со сканомэф если на на него заменить гетчар
причем в самом первом вложенном цикле все прекрасно работает.
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<stdio.h>
#define M 54
#define N 4*M
void Init(int *a, int n)
{
int i, j, b[M], count[M], len = M;
for(i = 0; i < M; i++)
{
b[i] = i;
count[i] = N / M;
}
for(i = 0; i < n; i++)
{
j = rand() % len;
a[i] = b[j];
--count[j];
if (!count[j])
{
b[j] = b[len - 1];
count[j] = count[len - 1];
--len;
}
}
}
int main()
{
int deck[N], bet[3][20], chi[4][20], pos=0, i=0, p=0, m=0, k=0,f=0,c=0;
srand(time(NULL));
Init(deck, N);
while(pos!=311)
{
for(p=0; p<3;p++)
{
scanf("%d", &bet[p][0]);
}
for(m=0;m<2;m++)
{
if(m==1)
{
chi[3][0]=deck[pos];
pos++;
}
for(i=0;i<3;i++)
{
chi[i][m]=deck[pos];
pos++;
}
}
for(k=2;f!=1;k++)
{
c=getchar();
if(c=='y')
{
chi[0][k]=pos;
pos++;
}
else
{
f=1;
}
}
}
getch();
}Решение задачи: «Не работает scanf и getchar после циклов»
textual
Листинг программы
scanf("%d%*c", &bet[p][0]);