Foros del Web » Programación para mayores de 30 ;) » Programación General »

Este codigo esta mal, ¿Donde? Lenguaje C

Estas en el tema de Este codigo esta mal, ¿Donde? Lenguaje C en el foro de Programación General en Foros del Web. #include <stdio.h> #include <math.h> int main (void){ int numero=0; int resultado=0; printf("Escriba un número:"); scanf("%d", numero); resultado=pow(numero, 6); printf("El Resultado de %d ^ 6 es: ...
  #1 (permalink)  
Antiguo 28/12/2004, 18:04
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 5 meses
Puntos: 7
Este codigo esta mal, ¿Donde? Lenguaje C

#include <stdio.h>
#include <math.h>

int main (void){
int numero=0;
int resultado=0;

printf("Escriba un número:");
scanf("%d", numero);

resultado=pow(numero, 6);
printf("El Resultado de %d ^ 6 es: %d", numero, resultado);

return 0;
}

gcc programa.c -o programa (Asi lo hago pa compilar en mi red hat)

Error: Referencia a pow sin definir

¿Por qué me da ese error?, ¿Acaso no está bien lo de math.h?

En fin, nuevamente gracias.
__________________
Charlie.
  #2 (permalink)  
Antiguo 28/12/2004, 18:29
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
El código debería compilar bien, pero deberías cambiar scanf("%d", numero); por scanf("%d", &numero);

Por lo menos en Windows me funciona perfectamente con esta modificación.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 28/12/2004 a las 18:31
  #3 (permalink)  
Antiguo 28/12/2004, 20:50
Avatar de julwo  
Fecha de Ingreso: mayo-2004
Ubicación: santiago, Rep Dom
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
lo que pasa es que has llamado la libreria math.h

Cita:
El código debería compilar bien, pero deberías cambiar scanf("%d", numero); por scanf("%d", &numero);
luego de hacer eso trata de compilarlo de este modo gcc programa.c -m
o -l ahora mismo no lo recuerdo pero es de una de esas dos formas
__________________
Cuando las cosa son Buenas, SON BUENAS! no importan las R@tas que orinen en el camino! Me SiGUe!!
  #4 (permalink)  
Antiguo 29/12/2004, 16:18
 
Fecha de Ingreso: octubre-2004
Mensajes: 12
Antigüedad: 20 años, 1 mes
Puntos: 0
scanf("%d", numero) ó scanf("%d", &numero) debería generar simplemente un warning. Salvo que el compilador esté seteado en forma estricta y no conozco ese compilador.

Recuerdo que una vez hice una rutina, la ejecuté y depuré en TC y luego partí con ella a Linux y plop!! resultó que la función strcat no existía en Linux.
  #5 (permalink)  
Antiguo 29/12/2004, 16:24
 
Fecha de Ingreso: octubre-2004
Mensajes: 12
Antigüedad: 20 años, 1 mes
Puntos: 0
ahh, fe de erratas, debe decir strinv y no strcat =]
  #6 (permalink)  
Antiguo 29/12/2004, 17:51
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Si, debería generar un warning al compilar y una excepción al ejecutar por eso le dije que debería cambiarlo.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:04.