爱问知识人 爱问教育 医院库

C语言printf字域宽度的问题

首页

C语言printf字域宽度的问题

main(){inta=123;floatb=1.23;printf("%-4d\n%4d\n%2d\n%1d\n%d\n",a,a,a,a,a);printf("%-4.3f\n%4f\n%2f\n%1f\n%f\n",b,b,b,b,b);}想请教下关于字域宽度的问题?输出为:1 1231231.2301. . . .230000特别是空格和宽度,请详细解释下.教材看得很迷糊.谢谢~

提交回答
好评回答
  • 2008-06-19 12:46:52
      把程序修改成下面的样子(也就是把printf语句里的空格都去掉),这样可以看得更清楚
    main() 
    { 
    int a=123; 
    float b=1。23f; 
    printf("%-4d\n%4d\n%2d\n%1d\n%d\n",a,a,a,a,a); 
    printf("%-4。
      3f\n%4f\n%2f\n%1f\n%f\n",b,b,b,b,b); } 运行结果如下: 123_ %-md的形式,实际字段宽比指定的小,因此右补空格; _123 %md的形式,实际字段宽比指定的小,因此左补空格; 123 %md的形式,实际字段宽比指定的大,因此按实际位数输出; 123 同上 123 未指定输出宽度,按实际位数输出 1。
      230 %- 的形式,保留n位小数,指定m位字段。由于实际位数 比指定宽度大(见注),因此按实际位数输出 1。230000%mf的形式,未指定保留小数位数,默认6位。由于实际位数 比指定宽度大,因此按实际位数输出 1。
      230000%mf的形式,未指定保留小数位数,默认6位。由于实际位数 比指定宽度大,因此按实际位数输出 1。230000%f的形式,未指定保留小数位数默认6位。未指定输出字段 长度,因此按实际位数输出 (注:浮点形数据中的小数点算占一位)。
      

    苦***

    2008-06-19 12:46:52

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 173-192
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):