¿Cómo está cambiando el funcionamiento de fflush (stdin) la salida en el siguiente código?
#include <stdio.h>
int main()
{
int test_no ,count=1,i,n,j;
scanf("%d",&test_no);
fflush(stdin);
int arr1[test_no];
for(i=0;i<test_no;i++)
{
scanf("%d",&n);
printf("\n");
int arr[n];
for(j=0;j<n;j++)
{
fflush(stdin);
scanf("%d",&arr[i]);
}
for(j=1;j<=n-1;j++)
{
if(arr[j-1]>arr[j])
{
count++;
}
}
if(n==1)
{
arr1[i]=1;
}
else
{
arr1[i]=count;
}
count=1;
}
for(i=0;i<test_no;i++)
{
printf("%d\n",arr1[i]) ;
}
return 0;
}
Esta solución es para estoproblema.
No obtengo el resultado deseado para el tercer caso, me da un resultado de 3 o 4 dependiendo de si colocofflush(stdin)
antes descanf("%d",arr[i])
o despuésscanf("%d",arr[i])
, indique el problema con este código.