- ベストアンサー
桁数を求めるプログラム2
すいません。疑問解決と思ったのですがまた新たな疑問が浮上してきました。 #include <stdio.h> main() { int a=0; int n=1; scanf("%d",&a); while(1) { a=a/10; if(a<1){ break; } n++; } printf("その数は%d桁です。\n",n); } のプログラムで10桁まではうまく表示できるようになったのですが、11桁以上が表示できません。 10桁以上を入力してもなぜか1桁とか10桁とかになってしまいます。 その原因はどこにあるのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- yatokesa
- ベストアンサー率40% (201/496)
回答No.5
- MovingWalk
- ベストアンサー率43% (2233/5098)
回答No.4

noname#5537
回答No.3
- ymmasayan
- ベストアンサー率30% (2593/8599)
回答No.1
お礼
回答ありがとうございました。 なるほど! aをdoubleにして%lfにすればいいんですね。 ありがとうございました。