F-nameのブログ

はてなダイアリーから移行し、更に独自ドメイン化しました。

整数値の桁数を求める

正の整数値の桁数を出すプログラムを書いたのはいいのだけれど、10までの値しかでない。型名をintからlong intに変更したが、結果は変わらず。ううみゅ。

#include

int main(void)
{
 long int num;
 long int dig;

  do {
   printf("非負の整数は?:");
   scanf("%ld", &num);
   if (num < 0)
    puts("\a負の数や!");
   } while (num < 0);

  dig = 0;
  do {
   num = num / 10;
   dig = dig + 1;
  } while (num > 0);
  printf("その数は%ld桁や!\n", dig);

return (0);
}