这是我的观察,首先需要将标头math.h作为标头文件中sqrt()声明的函数包括在内math.h。例如#include <math.h>其次,如果您阅读sqrt的手册页,您会注意到该行-lm。#include <math.h> /* header file you need to include */double sqrt(double x); /* prototype of sqrt() function */Link with -lm. /* Library linking instruction */但是应用程序仍然说未定义对sqrt的引用。您在这里看到任何问题吗?编译器错误是正确的,因为您尚未将程序与库lm链接并且链接器无法找到的引用sqrt(),您需要显式链接。例如gcc -Wall -Wextra -Werror -pedantic test.c -lm