Hola!
estoy todo picado haciendo el primer ejercicio de C :D, y veo que se me han olvidado muchisimas cosas. Esto de no tocar un lenguaje desde hace casi un año pasa factura :(.
BUeno este es mi codigo:
#include <stdio.h>
#include <string.h>
int main (void) {
long int tc,tf;
char tipo [1];
printf("Introduce el tipo de medicion(F/C): ");
scanf("%s",&tipo);
if (!strcmp(tipo,"C")) {
printf ("Introduce los grados C: ");
scanf("%d",&tc);
tf=(5/9)*(tc-32);
printf("%d grados C == %d grados F.\n", &tc,&tf);
}
else
if (!strcmp(tipo,"F")) {
printf("Introduce los grados F: ");
scanf("%d",&tf);
tc=((9/5)*tf)+32;
printf("%d grados F == %d grados C.\n",&tf,&tc);
}
else
printf("Error de uso.\n");
return 0;
}
y esto lo que sale por pantalla al ejecutarlo:
:~$ ./ejC1
Introduce el tipo de medicion(F/C): F
Introduce los grados F: 40
-1073742960 grados F == -1073742956 grados C.
:~$ ./ejC1
Introduce el tipo de medicion(F/C): C
Introduce los grados C: 35
-1073742956 grados C == -1073742960 grados F.
:~$
La pregunta es:
¿por que salen esos numeros tan grandes en vez de los que yo introduzco?
Graciasss :)
PD: que buena idea esta de los ejercicios, resulta muy motivante, de verdad gracias!!!
printf("%d grados C == %d grados F.\n", &tc,&tf);
es
printf("%d grados C == %d grados F.\n", tc,tf);
y
printf("%d grados F == %d grados C.\n",&tf,&tc);
es
printf("%d grados F == %d grados C.\n",tf,tc);
salu2
P.D.:Si si, esto de los ejercicios esta bien, asi voy recordando algo de C :P
Graaaciaaaaas!!!! Ya ni me acordaba de como se usa el printf, joder vaya tela :'( jajjajaa
Claro, estabas imprimiendo la dirección en vez de el valor que esta contiene
:D
P.D.
Por cierto, este no es el ejercicio nº 1. Es el ejercicio nº 100.