c - Métodos sem parâmetros e com parâmetros - Stack Overflow em Português
Declaração métodos sem parâmetros:
void exemploDeMetodo(){
Chamada de métodos sem parâmetros:
exemploDeMetodo();
Se eu quiser fazer um método com parâmetros é como?
void exemplo(int i){
faz algo com o i
Chamada de métodos com parâmetros:
int inteiro = 1;
exemplo(inteiro);
Se eu quiser retornar um inteiro, terei que colocar um parâmetro no método?
editada 3/11/14 às 11:12
340mil5151 medalhas de ouro881881 medalhas de prata13101310 medalhas de bronze
Isto é Java ou é C? – Maniero♦ 2/11/14 às 17:25
Exato, seria bom especificar qual das duas linguagens está utilizando, pois existem algumas diferenças que devem ser consideradas. – Math♦ 2/11/14 às 17:26
o exemplo está em C. – Jose Maximilian 2/11/14 às 17:27
@JoseMaximilian procure sempre usar as tags corretas que ajudam definir sobre o que é seu problema para facilitar para as pessoas te ajudarem. Veja as edições feitas para entender que as perguntas devem ser o mais limpas possíveis, sem nada que não importe para a pergunta, assim ela poderá ajudar outras pessoas no futuro. – Maniero♦ 2/11/14 às 17:39
@JoseMaximilian é normal, o pessoal demora um pouco se acostumar com um site de Perguntas e Respostas. Quando pegar o jeito vai ver que é para o benefício de todos. – Maniero♦ 2/11/14 às 17:57
Você está correto em todas suas suposições iniciais.
Para retornar um inteiro você não precisa de parâmetros. O retorno funciona de forma separada. Você pode ter parâmetro mas ele não tem relação direta com o retorno. O retorno é um resultado que você passa de volta para quem chamou.
int exemplo1() { return 1; }
int exemplo2(int i) { return i * 2; }
int exemplo3() {
int exemplo4(int i) { return i > 0 ? 1 : 0; }
printf("%i\n", exemplo1());
printf("%i\n", exemplo2(2));
printf("%i\n", exemplo3());
printf("%i\n", exemplo4(2));
Note que em C você sempre deve declarar o tipo do dado para tudo: variáveis, elementos de vetores, campos de estruturas, de parâmetros e claro, pode declarar o tipo das funções, que se confundem com o tipo de retorno da função. void significa retornar nada. E claro, int significa que vai retornar um inteiro.
Em C até existe como retornar valores através de parâmetros, mas isto é avançado, não se preocupe com isto até aprender outras coisas antes. Ainda não terá utilidade para você.
editada 14/09/18 às 14:53
respondida 2/11/14 às 17:29
muito obrigado. – Jose Maximilian 2/11/14 às 17:54
Você acertou quase tudo, só lhe faltou a parte de retornar um valor.
Uma função tem o seguinte formato:
tipoDeRetorno nomeDoMetodo(tipoDoParametro valorDoParametro) {
//se o tipoDeRetorno for void não precisa retornar nada
//caso contrário deve-se usar a seguinte notação:
return variavelCompativelComOTipoDeRetorno;
Para fazer uma função que retorne um valor do tipo inteiro você deve trocar o void que você pôs no seu exemplo, assim:
int exemplo(int i) {
int j = i*2;
Perceba que você não precisa necessariamente retornar i, você pode retornar uma outra variável, o resultado de uma expressão ou um valor, desde que corresponda com o tipoDeRetorno.
editada 2/11/14 às 17:42
respondida 2/11/14 às 17:30
23,8mil1414 medalhas de ouro7676 medalhas de prata112112 medalhas de bronze
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag c funções parâmetros ou faça sua própria pergunta.