Me aparece el siguiente mensaje en el TERMINAL y no me compila aplicacion

Imagen de giovanni2603
0 puntos

Estoy tratando de dividir dos numero (float) pero me aparece lo siguiente:
Terminal :

#include
int main(){

float x,y,z;

printf("Dame el primer numero: ");
scanf("%d",&x);
printf("\n");
printf("Dame el segundo numero: ");
scanf("%d",&y);
z=x/y;
printf("\n\n El resultado de la division es : %d/%d=%d\n", z);
return 0;
}
y cuando lo compilo me aparece el siguiente mensaje :

div.c: En la función ‘main’:
div.c:8:1: aviso: formato ‘%d’ espera un argumento de tipo ‘int *’, pero el argumento 2 es de tipo ‘float *’ [-Wformat]
div.c:11:1: aviso: formato ‘%d’ espera un argumento de tipo ‘int *’, pero el argumento 2 es de tipo ‘float *’ [-Wformat]
div.c:13:1: aviso: formato ‘%d’ espera un argumento de tipo ‘int’, pero el argumento 2 es de tipo ‘double’ [-Wformat]
div.c:13:1: aviso: formato ‘%d’ espera un argumento ‘int’ coincidente [-Wformat]
div.c:13:1: aviso: formato ‘%d’ espera un argumento ‘int’ coincidente [-Wformat]

Imagen de JAVIER NAVARRO ALTIMIRA
+1
+1
-1

/**
* Tu código -> scanf("%d",&x); // aqui scanf espera en realidad un int
* Esto funciona -> scanf("%f",&x); // aqui espera un float
*/
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int main(){

float x,y,z;

printf("Dame el primer numero: ");
scanf("%f",&x);
printf("\n");
printf("Dame el segundo numero: ");
scanf("%f",&y);
z=x/y;
printf("\n\n El resultado de la division es : %f/%f=%f\n", x, y, z);
return 0;
}

+1
+1
-1
Imagen de giovanni2603
+1
0
-1

Gracias me sirvio y me compilo ok, se agradece

+1
0
-1
Imagen de Jose Luis 1320
+1
0
-1

Si no tienes más que agregar a ESTE TEMA, entonces marca el hilo como solucionado por favor.

+1
0
-1

"Yo sólo se que no se nada"
-Sócrates, filósofo griego.
-Normas del foro