Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Camila Gusmão

[Resolvido] Parâmetro de Funções em C

Recommended Posts

Eu tenho que ler dois valores do tipo float e depois imprimir na tela o maior\menor\n.

Para isso eu devo criar uma função que verifique se quem está na variável max, por exemplo, é de fato o maior. Caso não seja eu tenho que chamar uma função que faça a troca desses valores (função swap()). Porém, quando eu coloco para executar ele acusa falha de segmentação, mas não consigo ver onde está errado.

d_vidaf_rum.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Remova o operador & dos argumentos da função swap e veja se dá certo.

Pois o parâmetro da função minMax já é um ponteiro, por isso quando passar para swap não precisa usar o operador &.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu removi, mas ainda assim dá falha de segmentação. o código ficou assim:

#include<stdio.h>

void swap(float*,float*);

void maxMin(float*,float*);

int main(){

float min, max;

scanf("%f%f",min,max);

maxMin(&max,&min);

printf("%f\n%f\n",max,min);

return 0;

}

void maxMin(float* max, float* min){

float aux;

if(*max < *min){

swap(max,min);

}

}

void swap(float* max,float* min){

float aux;

aux=*min;

*min=*max;

*max=aux;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camila,

Ficou faltando também o operador & a ser usado no scanf:

scanf("%f %f",&min, &max);

:natal:

LNW

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×