====== Comando return ====== Sintaxe: ''return [[tipos_dados|expressão]];'' ---- Quando uma função deve retornar valores utiliza-se o comando **''return''**. Quando este comando é executado o valor indicado é retornado para a função e a mesma encerra a sua execução, independente do local onde o **''return''** se encontra. Veja o exemplo: /* programa return.c */ #include #include int le_numero (void); int soma (int, int); int main(void) { int iValor_a; int iValor_b; iValor_a = le_numero(); iValor_b = le_numero(); printf ("Soma : %d\n", soma (iValor_a, iValor_b)); return 0; } int le_numero (void) { char cCaracter; int iValor; printf ("Entre com um numero :"); cCaracter = getch(); /* Uma forma complicadíssima de se ler valores numéricos. 1º É verificado se caracter digitado encontra-se entre 0 e 9. */ while (cCaracter < '0' || cCaracter > '9') { cCaracter = getch(); } iValor = 0; while (cCaracter >= '0' && cCaracter <= '9') { iValor *= 10; /* 2º Multiplica-se por 10, para deslocar uma casa para a direita. Por exemplo, se o valor atual for 2, vira 20. */ iValor += (int) cCaracter - (int) '0'; /* 3º Convertem-se os valores digitados, que está em caractere, para numérico e subtrai o valor numérico representando o 0 na tabela ASCII. Por exemplo: o valor 9 na tabela ASCII é representado pelo número 57 e o 0 por 48, então 57 - 48 = 9. 4º Soma-se o valor encontrado. Por exemplo, se o primeiro caractere for 2, ele é multiplicado por 10 e torna-se 20, se o segundo caractere for 9 é somado a variável e obtem-se o valor 29. */ cCaracter = getch(); } while (cCaracter != '\n') { cCaracter = getch(); } return iValor; /* retorna o valor */ } int soma (int a, int b) { return a + b; /* retorna o valor */ }