#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;
}
Этот код не работает, потому что он принимает квадратный корень переменной. Если вы измените sqrt(x)
, на sqrt(20.0)
, код работает просто отлично, почему? Пожалуйста, объясни.C программирование функция sqrt
Также, как получить квадратный корень переменной (что мне действительно нужно)?
ВЫВОД:
[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$
Примечание: sqroot1 является sqroot 20.0. sqroot2 - это квадрат переменной.
[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$
РЕШЕННЫЙ.
Сообщение, как он не работает, так как он будет работать ... –
Этот код выглядит хорошо для меня. Какой результат вы получаете при запуске? –
Вы говорите, что это не работает: что вы видите? Он должен работать, хотя в качестве стиля я бы поместил переменную результата в другую строку. Также вам не хватает/до окончательного n в вашем printf. – winwaed