• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Подскажите где ошибка

  • Автор темы Guest
  • Дата начала
G

Guest

Писал программу на си, компилятор выдаёт ошибки. Система Linux Ubuntu, компилятор gcc. Программа для вычисления простых чисел.
Программа:
<!--shcode--><pre><code class='c'>#include <stdio.h>
#include <math.h>
#define true 1
#define false 0
int prv(int min, int max)
{
int x,s,t;
float d;
s=false;
if (max>3){
for (x=min; x<=max; x++)
{
for (d=2; (d<=sqrt(x))||(!(s)); d++)
{
if (s)
s=false;
t=d;
if (x%t==0)
s=true;
}
if (s)
printf(" %d", x);
}
return 0;
}
else
return 1;
}

int main()
{
prv(1,100);
}[/CODE]
Ошибки:
Код:
maksim@maksim-desktop:~/Программы/Си/Простые числа$ gcc main.c
/tmp/ccorImLC.o: In function `prv':
main.c:(.text+0x94): undefined reference to `sqrt'
collect2: ld returned 1 exit status
 
G

Guest

это уже ясно, а как исправить? Как правильно вычислить квадратный корень??
 
A

Anthony

Ошибки:
Код:
maksim@maksim-desktop:~/Программы/Си/Простые числа$ gcc main.c
/tmp/ccorImLC.o: In function `prv':
main.c:(.text+0x94): undefined reference to `sqrt'
collect2: ld returned 1 exit status
ИМХО, это ошибка линковки. Нужно добавить линк к библиотеке, где содержиться sqrt.
Например, так: gcc main.c -Wl,-lm
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!