ldiv()

ldiv()は、long整数の割算を行って商と余りを計算して返します。


  #include <stdlib.h>
  ldiv_t ldiv(long int numer, long int denom);
  

引数numerには割られる数、denomには割る数を指定します。この関数は商と余りが入っているldiv_t型の値を返します。

ldiv_tは次のように定義されていて、商はldiv_t.quot、余りはldiv_t.remで得ることができます。


  typedef struct _ldiv_t {
    int quot;   /* 商(quotient) */
    int rem;    /* 余り(remainder) */
  } ldiv_t;
  

次の例は、整数の割り算を行って余りを求めるプログラムの例です。


    #include <stdlib.h>
    #include <stdio.h>
    #ifdef _MSC_VER
    #pragma warning(disable : 6031)
    #pragma warning(disable : 4996)
    #endif
        
    int main(int argc, char *argv[])
    {
      long int x,y;
      ldiv_t ldiv_result;
      printf("割られる数>");
      scanf("%ld", &x);
      printf("割る数>");
      scanf("%ld", &y);
      ldiv_result = ldiv(x, y);
      printf("%d/%ld の商= %ld、余り= %ld\n", x, y, ldiv_result.quot, ldiv_result.rem);
    
      return 0;
    }
  

関連項目

fmod()

div()



C目次 inserted by FC2 system