sprintf 関数というのがあります。 printf 関数とまったく同じですが、結果を変数に出力する点が違います。 char dummy[10]; int c, a; c=12345; a=printf(dummy, "%d",c); この dummy 変数には文字列 "12345" が入りますが、使わなければどうということはないです。 C言語を使い始めてそろそろ10年になりますが、sprintf をこんなふうに使おうとは思いもしませんでした(^_^; なんか反則っぽいですけど、合理的ですね(笑) ちなみに、答えが0になるまで10で割っていって、割ることができた回数を数えるのが普通のやりかたです。
![C言語で、数値の桁数を求めるには?? - OKWAVE](https://cdn-ak-scissors.b.st-hatena.com/image/square/a3202632a5b19efa6d7dbcca644fc13bfa3453dc/height=288;version=1;width=512/https%3A%2F%2Fgazo.okwave.jp%2Fokwave%2Fspn%2Fimages%2Flogo%2Ffacebook_okwave.jpg)