C語言的abs()函數(shù)和div()函數(shù)你了解嗎
C語言庫中提供了許多函數(shù),這樣需要計算的時候,可以直接借助庫函數(shù),而不用自己重新編寫函數(shù)。今天就來看一下C語言標(biāo)準(zhǔn)庫函數(shù)里面的整型函數(shù)。
int __cdecl abs(int _X); long __cdecl labs(long _X); div_t __cdecl div(int _Numerator,int _Denominator); ldiv_t __cdecl ldiv(long _Numerator,long _Denominator);
abs函數(shù)用來計算整數(shù)的絕對值,它的參數(shù)就是待計算的整數(shù),返回值是計算后的絕對值。編寫一段簡單的代碼,演示一下這個函數(shù)的用法。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
int x1 = 56,x2 = -89;
int y1,y2;
y1 = abs(x1);
y2 = abs(x2);
printf("%d %d",y1,y2);
return 0;
}
定義一個正整數(shù),一個負(fù)整數(shù),然后用abs函數(shù)分別求絕對值,然后將計算的結(jié)果打印出來。

如果傳遞進(jìn)去的數(shù)字不是整數(shù)的話,輸出的結(jié)果是什么呢?

向abs函數(shù)里面分別傳入一個正的浮點數(shù)和一個負(fù)的浮點數(shù),計算出來的結(jié)果依然是正整數(shù),說明傳遞參數(shù)后,abs函數(shù)會將傳入的參強(qiáng)制轉(zhuǎn)換為整數(shù),然后在進(jìn)行計算。
labs函數(shù)的功能和abs函數(shù)的功能是一樣的,不過它主要用來計算長整數(shù)的絕對值。
div函數(shù)用來計算兩個數(shù)字相除的商和余數(shù),它有兩個參數(shù),用第一個參數(shù)(分子)除以第二個參數(shù)(分母),然后將商和余數(shù)存放在結(jié)構(gòu)體中,返回的結(jié)果是一個結(jié)構(gòu)體。它的結(jié)構(gòu)體定義如下:
typedef struct _div_t {
int quot;
int rem;
} div_t;
typedef struct _ldiv_t {
long quot;
long rem;
} ldiv_t;
quot 是商,rem 是余數(shù)。下面通過一段代碼來,來演示一下這個函數(shù)的用法。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
int x1 = 10,x2 =3;
div_t ret;
ret = div(x1,x2);
printf("%d %d",ret.quot,ret.rem);
return 0;
}
計算10 / 3的商和余數(shù),輸出結(jié)果如下:

同樣負(fù)整數(shù)也可以使用這個函數(shù)進(jìn)行計算。

ldiv函數(shù)的功能和div函數(shù)的功能一樣,不過它主要用來計算長整數(shù)的除法。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C語言對CSV文件從最后往前一行一行讀取的實現(xiàn)方法
今天小編就為大家分享一篇關(guān)于C語言對CSV文件從最后往前一行一行讀取的實現(xiàn)方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
win10系統(tǒng)下?VS2019點云庫PCL1.12.0的安裝與配置教程
點云庫全稱是Point?Cloud?Library(PCL),是一個獨立的、大規(guī)模的、開放的2D/3D圖像和點云處理項目,這篇文章主要介紹了win10系統(tǒng)下?VS2019點云庫PCL1.12.0的安裝與配置,需要的朋友可以參考下2022-07-07
C語言中的函數(shù)指針基礎(chǔ)學(xué)習(xí)教程
這篇文章主要介紹了C語言中的函數(shù)指針基礎(chǔ)學(xué)習(xí)教程,包括函數(shù)指針作為參數(shù)來傳遞等重要知識,需要的朋友可以參考下2016-04-04
include包含頭文件的語句中,雙引號和尖括號的區(qū)別(詳解)
下面小編就為大家?guī)硪黄猧nclude包含頭文件的語句中,雙引號和尖括號的區(qū)別(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

