#include <math.h>
#include <stdio.h>
int main(void)
{
double x = 4.0, result;
result = sqrt(x);
printf("The square root of %lf is %lfn", x, result);
return 0;
}
Este código no funciona porque toma la raíz cuadrada de una variable. Si cambia el sqrt(x)
, a sqrt(20.0)
, el código funciona bien, ¿por qué? Por favor explique.Programación C Función sqrt
Además, ¿cómo obtengo la raíz cuadrada de la variable (que es lo que realmente necesito)?
SALIDA:
[email protected]:~/Programming/C.progs/Personal$ vim sqroot1.c
[email protected]:~/Programming/C.progs/Personal$ cc -c sqroot1.c
[email protected]:~/Programming/C.progs/Personal$ cc -o sqroot1 sqroot1.c
[email protected]:~/Programming/C.progs/Personal$ ./sqroot1
4.472136
[email protected]:~/Programming/C.progs/Personal$ vim sqroot2.c
[email protected]:~/Programming/C.progs/Personal$ cc -c sqroot2.c
[email protected]:~/Programming/C.progs/Personal$ cc -o sqroot2 sqroot2.c
/tmp/ccw2dVdc.o: In function `main':
sqroot2.c:(.text+0x29): undefined reference to `sqrt'
collect2: ld returned 1 exit status
[email protected]:~/Programming/C.progs/Personal$
NOTA: sqroot1 es la Sqroot de 20,0. sqroot2 es la raíz cuadrada de una variable.
[email protected]:~/Programming/C.progs/Personal$ cc -o sqroot2 sqroot2.c -lm
[email protected]:~/Programming/C.progs/Personal$ ./sqroot2
4.472136
[email protected]:~/Programming/C.progs/Personal$
SOLVED.
Mensaje how no funciona, ya que funcionaría ... –
Ese código se ve bien para mí. ¿Qué resultado obtendrás cuando lo ejecutes? –
Dices que no funciona: ¿qué ves? Debería funcionar, aunque como una cuestión de estilo pondría la variable de resultado en una línea diferente. También te falta una/antes de la n final en tu printf. – winwaed