2.6 例題(2)

  1.例題2-11 数字を文字列として印刷する関数(非再帰版)
 以下に示したものは与えられた整数nを10進数として印刷するプログラム(非再帰版)です。このプログラムでは10で割ったあまりを順次求める事により下の桁から数字(数ではない)を求め、配列sに格納しています。
<プログラムリスト>

#include <stdio.h>


void printd(int num);

int main(void){
  int num;

   scanf("%d", &num);
  printd(num);
}

void printd(int num){
  char str[20];
  int  i;

  if (num < 0) {
    putchar('-');
    num = -num;
  }
  i = 0;
  do {
    str[i++] = num % 10 + '0';
  } while ((num /= 10) > 0);
  while (--i >= 0)
    putchar(str[i]);
  putchar('\n');
}

2003年4月28日 18:03 更新