scanf和printf

c语言中scanf和printf

转换说明:
    %d %i:有符号十进制整数,用%d显示float类型的值,不会转化为int类型;

    %f:可显示float或double类型的值

    %a,%A:    十六进制表示浮点数

    %e,%E:    指数计数法表示浮点数,12.e24,12.E24。

    %#o,%o:无符号八进制;前一个表示格式为014,后一个表示格式为14;

    %#x,%x:    无符号十六进制,前一个表示格式为0xAA,后一个表示AA;

    %#X,%X:无符号十六进制,前一个表示格式为0XAA,后一个表示AA;

    %u:无符号十进制整数

    %s:字符串char数组 不加&

    %c:字符char

    %p:指针

 

转义序列:
    \t:    水平制表符

    \n:    回车换行,将光标移到下一行开头

    \r:    回车    ,将光标移到本行开头

    \b:    退格

int输入输出

int a;
scanf_s("%d", &a);
printf("%d\n", a);

浮点型输入输出 double lf;float f; 控制小数点后几位用 %.2f。

double n;
scanf_s("%lf", &n);
printf("%f\n", n); //与输入不同
float m;
scanf_s("%f", &m);
printf("%f\n", m);
//小数点后两位
printf("%.2f\n", m);

char数组输入输出;以空格换行为结束判断标志

scanf_s相比较于scanf来说更安全,因为使用scanf_s函数需要设定有一个缓冲参数来规定缓冲区大小,因而不会有内存越界的问题,这一点在字符串的读取中有着体现。

scanf_s中参数大小为5,其中最后一个位置是\n,所以最多有4个char。

char s[5];
scanf_s("%s", s,5);
printf("%s", s);

输入时间12:36:20

int hh, mm, ss;
scanf_s("%d:%d:%d", &hh, &mm, &ss);
printf("%d:%d:%d", hh, mm, ss);

输入12 36 20

int hh, mm, ss;
scanf_s("%d%d%d", &hh, &mm, &ss);
printf("%d:%d:%d", hh, mm, ss);

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值