es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La función scanf no funciona en vscode por alguna razón, ¿algún consejo?

Me acostumbré a utilizar printf y variables en C, luego empecé a usar la función scanf, aquí tienes el código (robado descaradamente de fresh2refresh.com)

#include <stdio.h>

int main()
{
   char ch;
   char str[100];
   printf("Ingrese cualquier caracter \n");
   scanf("%c", &ch);
   printf("El caracter ingresado es %c \n", ch);
   printf("Ingrese cualquier cadena (hasta 100 caracteres) \n");
   scanf("%s", str);
   printf("La cadena ingresada es %s \n", str);
}

Excepto que no se ejecuta, ni en la salida de vscode ni en la CMD. Ni siquiera muestra el “Ingrese cualquier caracter” desde la línea 5, muestra que el código se está ejecutando, pero ni siquiera acepta entradas (y solo se detendrá una vez que haga clic en el botón Detener ejecución de código).

¿Algún consejo?</stdio.h>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no puedo ver directamente el error en el código. Sin embargo, una posible razón por la que el programa no se esté ejecutando podría ser un problema con la configuración de Visual Studio Code. En ese caso, puedes intentar ejecutar el programa directamente desde el símbolo del sistema.

    Si el programa no acepta entradas, podría deberse a un problema de almacenamiento en búfer. Para resolver esto, puedes intentar vaciar el flujo de entrada estándar antes de aceptar entradas utilizando la función fflush. Por ejemplo:

    #include <stdio.h>
    
    int main(){
       char ch;
       char str[100];
    
       printf("Ingresa cualquier carácter \n");
       fflush(stdin);
       scanf("%c", &ch);
    
       printf("El carácter ingresado es %c \n", ch);
       printf("Ingresa cualquier cadena (hasta 100 caracteres) \n");
       fflush(stdin);
       scanf("%s", str);
    
       printf("La cadena ingresada es %s \n", str);
    
       return 0;
    }
    

    Además, asegúrate de verificar cualquier error de sintaxis que pueda estar impidiendo que el programa se compile o se ejecute correctamente.</stdio.h>

Comments are closed.