现在的位置: 首页 > 综合 > 正文

关于求绝对值的问题

2018年02月08日 ⁄ 综合 ⁄ 共 605字 ⁄ 字号 评论关闭

 

当用abs求绝对值时,需要注意不同的数据类型调用不同的API函数,其中abs、labs、fabs分别对应整型、长整型、浮点型。假如对浮点数用了abs得到的将是强制转换后的整型。下面是MSDN上的例子:

Example

/* ABS.C: This program computes and displays
 * the absolute values of several numbers.
 */

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

void main( void )
{
   int    ix = -4, iy;
   long   lx = -41567L, ly;
   double dx = -3.141593, dy;

   iy = abs( ix );
   printf( "The absolute value of %d is %d/n", ix, iy);

   ly = labs( lx );
   printf( "The absolute value of %ld is %ld/n", lx, ly);

   dy = fabs( dx );
   printf( "The absolute value of %f is %f/n", dx, dy );
}

Output

The absolute value of -4 is 4
The absolute value of -41567 is 41567
The absolute value of -3.141593 is 3.141593

 

更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn

 

 

抱歉!评论已关闭.