C语言基础-printf和scanf

在%和转换字符之间插入修饰符可修饰基本的转换说明

printf()的转换说明修饰符

 注意 float类型的转换

对于浮点类型 有用于 double和long double类型的转换说明 却没有float 类型的。

 输入程序:

// width.c --字段宽度
#include <stdio.h>
#define PAGES 1000
int main(void){
    printf("*%d*\n",PAGES);
    printf("*%2d*\n",PAGES);
    printf("*%-10d*\n",PAGES);
    printf("*%10d*\n",PAGES);
    
    return 0;
}

输出结果:

  1. 第1个转换说明号%d 不带任何修饰符,其对应的输出结果与带整数字段宽度的转换说明的输出结果相同。
  2. 第2个转换说明是%2d,其对应的输出结果应该是2字段宽度。因为待打印的整数有4位数宇,所以字段宽度自动扩大以符合整数的长度。
  3. 第3个转换说明是%10d,其对应的输出结果有10个空格宽度,实际上在两个星号之间有6个空格和4位数字,并且数字位于字段的右侧。
  4. 最后一个转换说明是%-10d,其对应的输出结果同样是 10 个空格宽度,-标记说明打印的数字位于字段的左侧。 

  1.  本例的第 1个转换说明是%f 在这种情况下,字段宽度和小数点后面的位数均为系统默认设置,即字段宽度是容纳带打印数字所需的位数和小数点后打印6位数字。
  2. 第2个转换说明是%e。默认情况下,编译器在小数点的左侧打印1个数字,在小数点的右侧打印6个数字。这样打印的数字太多!解决方案是指定小数点右侧显示的位数,
  3. 请注意,第4个和第6个例子对输出结果进行了四舍五入。另外,第6个例子用E代替了e。
  4. 第7个转换说明中包含了+标记,这使得打印的值前面多了一个代数符号 (+)
  5. 注意,转换说明号%010.2f 的第1个0是标记,句点(.)之前、标记之后的数字是指定的字段宽度

使用scanf()

  • 如果scanf()读取基本变量类型的值 在变量名前加&
  • 如果scanf()把字符串读入字符数组中 不能使用&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值