undefined reference to `sqrt’。linux环境中,编译判断一个整数是否为质数时的报错解决方案。
不好好学习,就会为小bug秃头( ๑ŏ ﹏ ŏ๑ )。
判断一个整数是否为质数,这是c语言小白的入门程序之一。
程序思路不难,可以直接根据质数的定义写出程序。整数1和2直接判断,大于2的整数用循环判断除了1和它本身,是否能被其他整数整除。
在linux环境下编译,程序没有语法和语义错误,却出现以下报错。
解决方案:
其实在linux环境中,用gcc编译程序时,没有链接math数学库。所以要在gcc下用到数学函数,可用如下:
cc cainao.c -lm // 其中**-lm**就是链接到math库。
此时便会顺利生成a.out文件了。
所以在写程序实现一定功能时,除了要面对源代码本身的bug,也要注意其他错误。