首页 > 代码库 > g++无法使用数学库函数,abs() 函数无法找到

g++无法使用数学库函数,abs() 函数无法找到

http://blog.csdn.net/pipisorry/article/details/36633451

同样的一个源码, 如果保存成c文件, 用gcc编译可以通过和使用

如果用g++编译无法通过. 原因是abs() 函数无法找到? 

1992829.101983/Main.cc: In function ‘int main()’:
1992829.101983/Main.cc:11:32: error: ‘abs’ was not declared in this scope
#include <stdio.h>
#include <math.h>
int main(){
	int count;
	int abs_x,abs_y;
	char begin[3], end[3];
	scanf("%d",&count);
	while(count--){
		scanf("%s %s",begin,end);
		abs_x = abs(begin[0] - end[0]);
		abs_y = abs(begin[1] - end[1]);
		if( !abs_x && !abs_y )
			printf("0 0 0 0\n");
		else{			
			printf("%d ",abs_x > abs_y? abs_x:abs_y );
			if( !(abs_x) || !(abs_y) || ((abs_x == abs_y)))
				printf("1 ");
			else
				printf("2 ");
			if( !(abs_x) || !(abs_y) )
				printf("1 ");
			else
				printf("2 ");
			if( (abs_x + abs_y) % 2)
				printf("Inf\n");
			else if( (abs_x == abs_y) )
				printf("1\n");
			else
				printf("2\n");
		}
	}
	return 0;
}
solution:需要#include <stdlib.h>
ref:
http://blog.csdn.net/pipisorry/article/details/36633451
http://bbs.csdn.net/topics/100038672