Jump to content
Fórum Script Brasil
  • 0

Programa inicia e fecha logo


J. Carlos
 Share

Question

Boas,

Estou a começar a apreeder a Linguagem C, e um dos erros com que me deparo é que sempre que faço a compilação de um programa, a janela inicia mas fecha logo.

Este é o código que estou a usar:

#include <stdio.h>

main()

{

printf("O tamanho em Bytes de um inteiro = %d\n", sizeof (int));

}

Por exemplo, para o primeiro programa que criei usei isto:

#include <stdio.h>

main()

{

printf("Hello World");

}

mas acontecia o mesmo, então depois de alguma pesquisa, vi que tinha de adicionar "getch()", ficando assim:

#include <stdio.h>

main()

{

printf("Hello World");

getch();

}

no meu livro não diz nada em relação ao "getch()", e já o tentei pôr no programa que estou a tentar realizar actualmente mas não dá.

Alguma solução?

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

O problema é que você está executando o programa diretamente. Assim é aberta a tela do prompt, exibida a mensagem e então o programa termina.

Nesse momento a janela é fechada e então é difícil de ver o resultado. Por isso a recomendação de se colocar o getch().

O seu livro não diz nada pois o programa não precisa do getch() para funcionar. Esse é apenas um artifício para fazer o programa aguardar algo ser digitado no teclado e, portanto, fazer com que o programa não termine, mantendo a janela aberta.

Se você abrir um prompt de comando e executar o seu programa verá que mesmo sem o getch ele funcionará perfeitamente.

Agora uma observação final: getch não faz parte do padrão da linguagem e portanto o seu código não vai funcionar em outros sistemas (como o Linux).

O ideal é usar a função getchar() pois ela fará o mesmo e é padrão da linguagem, sendo definida em stdio.h:

#include <stdio.h>
main()
{
printf("Hello World");
getchar();
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...