sexta-feira, 25 de março de 2011

Exemplo de "return" na "main" - Linguagem C - DEV C++


Recentemente um aluno me questionou sobre o uso do "return" na função "main" dos programas em linguagem C. Ele queria saber pra quê servia, já que a princípio "quem receberia o retorno dessa função?".

Pois bem, para tentar explicar resolvi criar um exemplo (no DEV C++/Windows) e assim facilitar o entendimento.

Segue abaixo o código usado.

1) Criei um programa chamado "auxiliar.c"

-----------------------
#include

int main(int argc, char *argv[])
{
int a;
printf(">>>>>>> Entrando no programa auxiliar >>>>>>");
printf("\n\n Digite sua opcao:\n\n");
scanf("%d",&a);
if(a==0){
printf(">>>>>>> Saindo do programa auxiliar com 0 >>>>>>");
return(0);
}else{
printf(">>>>>>> Saindo do programa auxiliar com 1 >>>>>>");
return(1);
}
}
-----------------------

Como podemos observar, o programa pedirá que o usuário digite uma opção, então, se a opção digitada for 0 (zero), o programa finaliza retornando 0 (zero), caso contrário ele finaliza retornando 1 (um).

2) Em seguida temos um outro algoritmo chamado "principal.c"

-----------------------
#include

int main(int argc, char *argv[])
{
int r;
printf("Chamando programa auxiliar....\n\n");

r = system("auxiliar.exe");
printf("\n\nRetornando do programa auxiliar....");
if (r == 0){
printf("\n\n\n>>>>> O programa auxiliar retornou --- ZERO --- !\n\n");
} else {
printf("\n\n\n>>> >>O programa auxiliar retornou --- UM --- !\n\n");
}
system("PAUSE");
}
-----------------------

Como podemos observar, o programa "principal.c" chama o programa "auxiliar.c" e atribui o retorno do programa "auxiliar.c" a uma variável "r", assim, testamos a variável "r" pra saber que valor o programa "auxiliar.c" retornou.

Sendo assim, podemos demonstrar o uso do retorno em funções "main" na linguagem C.

É isso!

[]'s

Nenhum comentário: