• ベストアンサー

C言語のprintfで桁数をそろえる

次ので桁数をそろえると書いてあったけどやってみたらできなかった。 コンパイラはMS visual c++バージョンはおそらく7.1.3019 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int a; scanf("%d",&a); printf("a=%3d\n",a); return 0; }

質問者が選んだベストアンサー

  • ベストアンサー
  • hisa1972
  • ベストアンサー率53% (268/500)
回答No.3

特定の処理系に依存するものではないので、一般的な(ANSI C)規則でで書きます。 %3d は、「最低3桁まで出力する」という意味であって、4桁入力すれば 4桁になります。 32ビット int の範囲が -2147483648~2147483647 ですから、 %10d にして、最大の10桁まで表示するようにすればそろいます。

その他の回答 (3)

回答No.4

%3dは「少なくとも3桁です」 「やってみたけどできいなかった」 では質問の内容が回答者に把握してもらえません。 あなたが2桁入力したかもしれませんし、4桁かもしれません。 質問する側の人間の発言として、中学生のような言葉使いを改めてください。

回答No.2

"できなかった"とは? 桁がそろわなかったのですか? 要するに、何が訊きたいのですか?

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.1

4桁以上の数値を入力したわけでは無いですよね?

osiete_kun
質問者

補足

4桁以上の数値を入力したわけです。

関連するQ&A