none
Excepción no controlada en 0x636DD434 (ucrtbased.dll) en practicando.exe: 0xC0000005: Infracción de acceso al escribir en la ubicación 0x009B0000. RRS feed

  • Debate general

  • Hola soy nueva con visual studio y lo estoy usando para crear lenguaje C mi problema es que quiero escribir un código sencillo que me introduzca una frase y que lo guarde en una variable el problema es que ya lo guarde en scanf_s  y en un gets_s y me sigue apareciendo el error en el compilador devc++ el código salio bien pero yo quiero utilizar visual ya que trabaja con el sosftwere.

    #include <stdio.h>
    #include <windows.h>
    #include <string.h>


    int main()
    {
    char frase[100]

    printf("Escribe una palabra: ");
    scanf_s(" %s", &frase);
    printf("He guardado: \" %s\" \n", frase);

    system("pause");
    return 0;
    }

    domingo, 15 de julio de 2018 12:22

Todas las respuestas

  • Puede que haya más errores, pero uno que veo a simple vista (aparte de que falta el punto y coma al final de la declaración de "frase") es este:

    scanf_s(" %s", &frase);

    El segundo argumento del scanf_s debería ser un "char *", pero le estás pasando un "char **". Fíjate que "frase" ya es un puntero a char (consecuencia de declararlo como array). Si le pones un "&" delante tomas un "puntero del puntero", y el scanf accede a una dirección incorrecta dando lugar al error de "infracción de acceso". En resumidas cuentas, sobra el "&".

    domingo, 15 de julio de 2018 17:20
  • Hola gracias por contestar este código lo hice en el DEVC++ y me funciono pero cuando quise pasar el mismo ejercicio a visual studio comenzó a darme error creo que el problema también esta en la extensión .C y no tanto en .CPP ya que yo estoy aprendiendo lenguaje C y cuando me da el error en la ventana aparece STDIO.H

    // 7.-Introducir tantas frases como queramos y contarlas.

    #include <stdio.h>
    #include <windows.h>
    #include <string.h>

    int main()
    {

    char frase[200];
    char elegir;
    elegir='s';
    int cont = 0;

        do
        {
        printf("\n1)_ Escriba tantas frases como desee\n\n");
        gets(frase);
        printf("\nDesea continuar? Ingrese S/SI o N/NO\n\n");
        scanf("%c",&elegir);
        cont++;
        } while(elegir=='s' || elegir=='S');

        printf("\n\nSE CONTARON ** %i ** FRASES",cont);
        printf("\n\n\n");
        system("pause");
        return 0;
    }

        
    lunes, 16 de julio de 2018 0:28