日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言的abs()函數和div()函數你了解嗎_C 語言

作者:嵌入式@hxydj ? 更新時間: 2022-04-24 編程語言

C語言庫中提供了許多函數,這樣需要計算的時候,可以直接借助庫函數,而不用自己重新編寫函數。今天就來看一下C語言標準庫函數里面的整型函數。

  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函數用來計算整數的絕對值,它的參數就是待計算的整數,返回值是計算后的絕對值。編寫一段簡單的代碼,演示一下這個函數的用法。

#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;
}

定義一個正整數,一個負整數,然后用abs函數分別求絕對值,然后將計算的結果打印出來。

image.png

如果傳遞進去的數字不是整數的話,輸出的結果是什么呢?

image.png

abs函數里面分別傳入一個正的浮點數和一個負的浮點數,計算出來的結果依然是正整數,說明傳遞參數后,abs函數會將傳入的參強制轉換為整數,然后在進行計算。

labs函數的功能和abs函數的功能是一樣的,不過它主要用來計算長整數的絕對值。

div函數用來計算兩個數字相除的商和余數,它有兩個參數,用第一個參數(分子)除以第二個參數(分母),然后將商和余數存放在結構體中,返回的結果是一個結構體。它的結構體定義如下:

  typedef struct _div_t {
    int quot;
    int rem;
  } div_t;
  typedef struct _ldiv_t {
    long quot;
    long rem;
  } ldiv_t;

quot?是商,rem?是余數。下面通過一段代碼來,來演示一下這個函數的用法。

#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的商和余數,輸出結果如下:

image.png

同樣負整數也可以使用這個函數進行計算。

image.png

ldiv函數的功能和div函數的功能一樣,不過它主要用來計算長整數的除法。

總結

原文鏈接:https://hxydj.blog.csdn.net/article/details/122961834

欄目分類
最近更新