Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Danirs en 14 Julio 2012, 19:26 pm



Título: Duda sobre C.
Publicado por: Danirs en 14 Julio 2012, 19:26 pm
Buenas!

Estoy empezando en esto de la programacion en C y tengo varias dudas, queria saber si me las podiais resolver.
Gracias!

A ver estoy intentando compilar y ejecutar este codigo:

Lo 1º las dos llaves "{}" al compilar me da error  :-\ .
Lo 2º otro programa al ejecutar me sale una ventana negra que no da tiempo ni a verla.

A ver si podéis hacer algo gracias.

Código:
#include <stdio.h>
#include <srting.h>
int main0
{
    char mensaje[20];
    strcpy (mensaje, "Atapuerca\n");
    printf (mensaje);
    return 0;
}


Título: Re: Duda sobre C.
Publicado por: DickGumshoe en 14 Julio 2012, 19:39 pm
¡Hola!

El primer error que veo es que la librería es string.h, no srting.h.

Después, no es int main0, sino int main() (con paréntesis en vez de con un 0).

También he visto que quieres imprimir el contenido de la variable así: "printf(mensaje)". Así no se puede... Algunas de las formas más comunes son:

Código
  1. printf("%s", mensaje);

Código
  1. puts(mensaje);

Respecto a la "ventana negra que no da tiempo ni a verla", tienes que poner justo antes del return 0;:

Código

Lo que hace es esperar a que el usuario pulse una tecla, y así no se cierra la ventana (hasta que no pulses "intro").

¡Ah! Y quizá en algunos programas aunque pongas una vez getchar(); no se te pause. Eso es porque tienes "basura" en el buffer y getchar(); la ha eliminado. En ese caso debes poner dos getchar(), uno para vaciar el buffer del teclado y otro para esperar a que el usuario pulse intro.

Saludos!


Título: Re: Duda sobre C.
Publicado por: Danirs en 14 Julio 2012, 19:45 pm
Jeje pues si que andaba bien...xD y eso que lo he copiado de un libro...pero muchas gracias por responder probare como me has indicado. ;D