0

Introducir 0 y que deje de preguntar por introducir numeros

    do{
       for(i=0; i<DIM; i++){
        printf("Introduzca un numero para el vector[%d]: ", i);
        fflush(stdin);
        scanf("%d", &vector[i]);
        }
      }while((vector[i]!=0) && (i<DIM));
    }
Darius
  • 3
  • 1
  • No, no es valido – Darius Oct 13 '20 at 18:26
  • La funcion [fflush](http://www.cplusplus.com/reference/cstdio/fflush/) no limpia el buffer `stdin`, sino, el `stdout`. [Aqui](https://es.stackoverflow.com/questions/233445/diferencias-entre-limpiar-el-b%c3%bafer-en-c) tienes una forma estandar de hacerlo.. – MrDave1999 Oct 13 '20 at 18:32

1 Answers1

0

debería eliminar el for.

    int i=-1;
  
    do {
        i++;
        printf("Introduzca un numero para el vector[%d]: ", i);
        fflush(stdin);
        scanf("%d", &vector[i]);
    } while ((vector[i]!=0) && (i<DIM));
javierj
  • 141
  • 4
  • Gracias, esto se hacer mucho a lo que necesito. – Darius Oct 13 '20 at 18:26
  • `fflush` está de más. `scanf` descarta todos los *white spaces* antes de leer un valor numérico. Eso da cuenta de los `\n` entre cada valor ingresado. `fflush` es indefinido para streams de entrada (C++) o sólo funciona con streams seekables (C) si son de entrada. Ref: https://en.cppreference.com/w/cpp/io/c/fscanf, ver **Notes**. Una de las tantas razones para cambiarme a Python. – Candid Moe Oct 13 '20 at 21:07