0

Пытаюсь скомпилировать программу, но ничего не получается, что не так?

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

struct Dots{
    int x;
    int y;
};

int main (){
    struct Dots m = {3 , 5};
    printf("%d\n", pow(m.x, 2));
}

вот, что пишет компилятор:

/tmp/ccc6T5kG.o: In function `main':
tets.c:(.text+0x26): undefined reference to `pow'
collect2: error: ld returned 1 exit status

1 Answers1

1

Включите предупреждения компилятора!

main.c:11:14: warning: format '%d' expects argument of type 'int', but argument 2 has type 'double' [-Wformat=]

Если заменить %d на %f, то выводится правильный результат.


заменил, но ошибка не исчезла (undefined reference to `pow')

Текст ошибки нужно было сразу добавить в вопрос.

Значит, вам нужно также добавить -lm к флагам линковщика, как подсказывают в комментариях.

HolyBlackCat
  • 27,445
  • 3
  • 27
  • 40