第9章 演習問題2 ~関数atoiを作ってみる~

~~~~~~ 解答例 ~~~~~~

#include <stdio.h>
#include <string.h>

int a2i(char *str);

void main()
{
  char str[256];
  int num;

  gets(str);

  num = a2i(str);

  printf("%d\n", num);
}

int a2i(char *str);
{
  int cnt;

  int num=0;

  for (cnt = 0; (str[cnt] >= '0') && (str[cnt] <= '9') ; cnt++) {
    num = 10 * num + (str[cnt] - '0');
  }

  return num;
}

 関数a2iの中の処理は、有名なK&R(第2版)という本からの抜粋です。 短い関数ではありますが、重要なことがいっぱい詰まっていると思います。

< 前のページへ

Pagetop