Luís Paiva 0 Posted February 27, 2019 Report Share Posted February 27, 2019 (edited) Eu tenho o seguinte código: void maior (){ int y,x; x=0; y=1; printf ("Números:"); // Condição de paragem é o zero. while (y!=0) { scanf ("%d",&y); if (x<y) x=y; } printf ("Maior Número é %d\n", x); } No entanto, não consigo construir o programa e diz-me : undefined reference to 'WinMain@16' error: ld returned 1 exit status Build failed: 2 errors. Alguém me consegue explicar o porquê? (Ainda estou muito verde nisto) Edited March 4, 2019 by pwseo formatação de código Link to post Share on other sites
Solution pwseo 234 Posted February 28, 2019 Solution Report Share Posted February 28, 2019 @Luís Paiva, Os programas escritos em C têm um ponto de entrada universalmente reconhecido: a função main. Como o teu programa não tem essa função, o linker (um dos programas que ajuda a construir o executável a partir do teu código) não sabe como definir o ponto de entrada do teu programa. Modelo base para um programa escrito em C: #include <stdio.h> int main(void) { // código aqui } Dentro da função main podes chamar outras funções (como a tua maior), mas para que o programa funcione, precisa de ter uma função main definida pela qual a execução começa. Link to post Share on other sites
Luís Paiva 0 Posted March 4, 2019 Author Report Share Posted March 4, 2019 @pwseo obrigado, não conseguia entender o porquê de só poder pôr o programa a correr se a função se chamasse main, mas já entendi. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now