int t,r,c;
int matrix[100][100][100];
int i,j,k=0,l=0;
int te,ck=0;
scanf("%d",&t);
for(te=0;te<t;te++)
{
printf("RC");
scanf("%d %d",&r, &c);
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("te= %d i= %d j= %d",te,i,j);
fflush(stdin);
matrix[te][i][j] = getchar();
}
}
}
示例o/p>
abhi@ubuntu:~/Desktop$ ./spoon.o
3
RC3
6
te= 0 i= 0 j= 0te= 0 i= 0 j= 1
控件直接询问 j=1 的值,而 j=0 被跳过。为什么?
最佳答案
fflush(stdin)
不是清除输入缓冲区的方法。
使用:
void flushInputBuffer( void )
{
int c;
while( (c = fgetc( stdin )) != EOF && c != '\n' );
}
关于c - 嵌套循环:inner loop is skipped once when executed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9607760/