Fórum Ubuntu Linux - PT
21 de Maio de 2013, 05:58 *
Olá, Visitante. Faça o login ou registre-se.
Perdeu o seu e-mail de ativação?

Login com nome de usuário, senha e duração da sessão
Notícias: Sejam todos bem-vindos e fiquem atentos às regras de utilização do fórum e política de privacidade.
 
   Home   Ajuda Regras Pesquisa Login Registre-se  
Anúncios
Páginas: [1]   Ir para o fundo
  Imprimir  
Autor Tópico: Probleminha com função  (Lida 460 vezes)
Lucidcrow
Usuário Ubuntu
*
Deslogado Deslogado

Mensagens: 8


Ver Perfil
« em: 11 de Junho de 2012, 20:39 »

Boa noite pessoal! Aqui estou eu estudando para aumentar minha humilde e fraca bagagem na programação, mais me deparei com um probleminha, não sei se é de sintaxe... ele compila, só que ao inves de retornar o maior numero ele retorna 4195764 não importa quais sejam os numeros  Hein? desde já agradeço!


Código:
#include <stdio.h>


int max(int n1, int n2)
{
if (n1>n2)
return n1;
else
return n2;
}
main()
{
int n1,n2,mac;
printf("escreve dois numeros: \n");
scanf("%d%d", &n1, &n2);
mac = max(n1, n2);
printf(" o maior numero eh: %d\n", max);


}
« Última modificação: 11 de Junho de 2012, 21:22 por Lucidcrow » Registrado
irtigor
Equipe Ubuntu
Usuário Ubuntu
*****
Deslogado Deslogado

Mensagens: 3.212


Delete, delete, delete!


Ver Perfil
« Responder #1 em: 11 de Junho de 2012, 21:10 »

Veja

Citar
mac = max(n1, n2);
printf(" o maior numero eh: %d\n", max);
Registrado
Lucidcrow
Usuário Ubuntu
*
Deslogado Deslogado

Mensagens: 8


Ver Perfil
« Responder #2 em: 11 de Junho de 2012, 21:22 »

Veja

Citar
mac = max(n1, n2);
printf(" o maior numero eh: %d\n", max);

Deus...  Sem Graça por isso que todo mundo fala pra diferenciar bem as coisas. valeu!
Registrado
cerebro
Usuário Ubuntu
*
Deslogado Deslogado

Mensagens: 18

Liberdade!


Ver Perfil
« Responder #3 em: 13 de Junho de 2012, 13:14 »

Não sei como compilou, qdo eu faço algo assim não compila
Registrado

By Cerebro Vasconcelos
irtigor
Equipe Ubuntu
Usuário Ubuntu
*****
Deslogado Deslogado

Mensagens: 3.212


Delete, delete, delete!


Ver Perfil
« Responder #4 em: 13 de Junho de 2012, 17:30 »

"max" está definido, não faz o menor sentido não compilar.
Registrado
sigur
Usuário Ubuntu
*
Deslogado Deslogado

Mensagens: 715


Ver Perfil
« Responder #5 em: 13 de Junho de 2012, 19:37 »

"max" está definido, não faz o menor sentido não compilar.

Desculpe me intrometer, nem sei de qual linguagem estão falando, mas apenas uma pergunta, baseada na sua resposta: max é uma função, certo? Não dá erro colocar a função, ou mandar imprimir, sem passar as variáveis?
Registrado
irtigor
Equipe Ubuntu
Usuário Ubuntu
*****
Deslogado Deslogado

Mensagens: 3.212


Delete, delete, delete!


Ver Perfil
« Responder #6 em: 13 de Junho de 2012, 20:23 »

Depende da linguagem, o gcc verificou se a coisa estava definida (valia qualquer coisa: função, variável...), se estivesse no formato de função (faltou parêntesis) ele também verificaria a quantidade de argumentos.

Não deu erro na execução porque em C a tipagem é fraca, ele avaliou max do jeito que deu e mostrou uma representação decimal disso.
Registrado
Páginas: [1]   Ir para o topo
  Imprimir  
 
Ir para:  

Powered by MySQL Powered by PHP Tema desenvolvido por FaBMak e n3t0
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines
© 2013 Canonical Ltd. Ubuntu e Canonical são marcas registradas da Canonical Ltd.
XHTML 1.0 válido! CSS válido!