CURSO DE C

 

O Comando return

O comando return tem a seguinte forma geral:

 return valor_de_retorno; ou return;

 Digamos que uma função está sendo executada. Quando se chega a uma declaração return a função é encerrada imediatamente e, se o valor de retorno é informado, a função retorna este valor. É importante lembrar que o valor de retorno fornecido tem que ser compatível com o tipo de retorno declarado para a função.

 Uma função pode ter mais de uma declaração return. Isto se torna claro quando pensamos que a função é terminada quando o programa chega à primeira declaração return. Abaixo estão dois exemplos de uso do return:

 

#include <stdio.h>
int Square (int a)
{
	return (a*a);
}
int main ()
{
	int num;
	printf ("Entre com um numero: ");
	scanf ("%d",&num);
	num=Square(num);
	printf ("\n\nO seu quadrado vale: %d\n",num);
	return 0;
}

#include <stdio.h>
int EPar (int a)
{
	if (a%2)           /* Verifica se a e divisivel por dois */
          return 0;        /* Retorna 0 se nao for divisivel */
	else
          return 1;        /* Retorna 1 se for divisivel */
}
int main ()
{
	int num;
	printf ("Entre com numero: ");
	scanf ("%d",&num);
	if (EPar(num))
        	printf ("\n\nO numero e par.\n");
	else
        	printf ("\n\nO numero e impar.\n");
	return 0;
}

É importante notar que, como as funções retornam valores, podemos aproveitá-los para fazer atribuições, ou mesmo para que estes valores participem de expressões. Mas não podemos fazer:

 

                func(a,b)=x;    /* Errado! */

No segundo exemplo vemos o uso de mais de um return em uma função.

 Fato importante: se uma função retorna um valor você não precisa aproveitar este valor. Se você não fizer nada com o valor de retorno de uma função ele será descartado. Por exemplo, a função printf() retorna um inteiro que nós nunca usamos para nada. Ele é descartado.

 


AUTO AVALIAÇÃO

Veja como você está. Escreva a função 'EDivisivel(int a, int b)' (tome como base EPar(int a)). A função deverá retornar 1 se o resto da divisão de a por b for zero. Caso contrário, a função deverá retornar zero.


Página Anterior Índice da Aula Próxima Página


Curso de C do CPDEE/UFMG - 1996 - 1999