首页 > 其他分享 >scanf 与 printf

scanf 与 printf

时间:2023-01-20 19:11:06浏览次数:30  
标签:输出 格式化 进制 scanf sacnf printf

sacnfprintf在头文件cstdio中,sacnfprintf在数据规模较大时效率高于cincout

需要注意的是scanf变量需要取地址

1.格式化输出-保留小数位

printf输出小数时默认保留6位小数位,但有时题目输出要求固定的小数位,printf会进行四舍五入

double a=6.6666666;
printf("%.0lf",a);//保留0位小数
printf("%.2lf",a);//保留2位小数

2.格式化输出-自动补零

不足某位数时printf可以在前0,常用在日期格式化

printf("%02d",x);//当x不足2位将自动补0

3.格式化输出-按8/16进制输出

printf("%o",10);//按8进制输出
printf("%x",10);//按16进制输出,字母为小写
printf("%X",10);//按16进制输出,字母为大小

4.格式化输入

当已知输入格式时,运用scanf获取需要的值

int y,m,r,h,i,s;
scanf("%d-%d-%d %d:%d:%d",&y,&m,&r,&h,&i,&s);

5.格式控制符

string无法使用sacnf输入,可以用printf输出,但需要.c_str()

printf("%s",s.c_str());
控制符 说明
%d int
%lf double
%c char
%s string
%o 八进制
%x/%X 十六进制

标签:输出,格式化,进制,scanf,sacnf,printf
From: https://www.cnblogs.com/mpmp/p/17063028.html

相关文章

  • golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。
      #定义示例类型和变量typeHumanstruct{Namestring}varpeople=Human{Name:"zhangsan"} 普通占位符占位符说明......
  • 嵌入式开发-printf输出中文乱码的问题
    问题描述调试时printf输出中文乱码解决方法产生这种情况的原因是编码格式导致,本来是用vscdoe编写代码,后来觉得插件多了很臃肿,开始用sublime,没有注意到其默认编码格式为U......
  • 5. C语言scanf gets输入字符串的区别
    1.scanf这种格式串不能接收带空格的字符串,比如输入"abc123678"的话,字符串只会接收到abc,遇空格就结束2. 使用 gets() 时,系统会将最后“敲”(Enter)的换行符从缓冲区中......
  • STM32用串口printf打印消息时使用条件编译
    程序调完以后我们可能不希望再打印调试信息,这个时候可以写一个条件编译,让printf失效。#defineLOG 1intfputc(intch,FILE*f){ #ifLOG USART_SendData(USAR......
  • C语言printf输出彩色字体
    使用格式:样式开始+被修饰字符串+样式结束样式开始:\033[+参数1+;+参数2+;+参数3+m参数1:代表背景色可选值和含义:字背景颜色范围:40-4940:黑41:深红42:绿43:黄......
  • 如何理解scanf(“%d %d”,a,b)==2和scanf(“%d”,a)=1【摘抄笔记ψ(._. )>】
    scanf函数有一个返回值,0表示接受输入失败,1表示接受输入成功。while(scanf("%d",&x)==1)的意思就是:当接收输入变量x的值成功的时候,继续做循环。......
  • printf函数
    1.语法​printf("HappyNewYear");   printf("%d",a);printf的语法及其简单将要打印的内容用引号括起来即可;如果使用了格式说明符,引号后敲出列表名用","隔开;2.格式说明......
  • Linux C printf无法输出到nohup.out文件上
    使用nohup./bin/out&后台运行程序时,发现cout可以输出到nohup.out文件里,但是printf不行;联想是不是缓冲区未满不输出导致: 但我有加"\n";  ????这个原因就不清楚了;然后......
  • 关于上一个fprintf覆写问题进行了实验探究
    问题见:关于C语言fprinf的一个问题从头开始fprintf覆写是可以的#include<stdio.h>intmain(){char*str="STUDENTS";FILE*fp;if((fp=fopen("d.txt"......
  • 关于gets函数和scanf函数
    关于gets函数和scanf函数,都会在末尾上加‘\0’的,要不然字符串就无法结束了。他们的不同在于,scanf在碰到缓冲区的空字符时(TAB,空格,换行,回车)时会自动截断并添加0.而gets函......