Fórum Ubuntu Linux - PT
Suporte Técnico => Programação e Scripts => Tópico iniciado por: Lucidcrow 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 ??? desde já agradeço!
#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);
}
-
Veja
mac = max(n1, n2);
printf(" o maior numero eh: %d\n", max);
-
Veja
mac = max(n1, n2);
printf(" o maior numero eh: %d\n", max);
Deus... ;D por isso que todo mundo fala pra diferenciar bem as coisas. valeu!
-
Não sei como compilou, qdo eu faço algo assim não compila
-
"max" está definido, não faz o menor sentido não compilar.
-
"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?
-
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.