C语言的printf

格式

printf(" "); //printf(格式串,表达式1,表达式2....);
#include <stdio.h>
#include <stdlib.h>
void main()
{
	int i,j;
	float x, y;
	i = 10;
	j = 20;
	x = 43.2583f;
	y = 5322.22f;
	printf("i=%d , j=%d , x=%f , y=%f\n",i,j,x,y);
	system("pause");
}

格式化字符串printf

Code 格式 
%c 字符 
%d 带符号整数 
%i 带符号整数 
%e 科学计数法, 使用小写"e" 
%E 科学计数法, 使用大写"E" 
%f 浮点数
%.1f  显示小数点后一位数字
%m.pf或者 %-m.pf   其中m和p都是常数,m最小字符数量,p为保留小数点后几位,m是右对齐、-m是左对齐
/*
如果m大于所要显示的数值,则在前面加空格
int x = 43;
printf("%3d\n",x);
printf("%5.3d\n",x); //占用5个字符,要有三个数字,不够用0来填充
========================
显示的是:
*43,*为空格
043 
*/
%g 使用%e或%f中较短的一个 
%G 使用%E或%f中较短的一个 
%o 八进制 
%s 一串字符 
%u 无符号整数 
%x 无符号十六进制数, 用小写字母 
%X 无符号十六进制数, 用大写字母 
%p 一个指针 
%n 参数应该是一个指向一个整数的指针
指向的是字符数放置的位置
 
%% 一个'%'符号 

转义

警报(蜂鸣器) : \a
回退符 : \b
换行符 : \n
水平制表符 : \t

scanf

scanf和scanf的区别

scanf不会检查输入边界,容易造成内存溢出
scanf_s会检查边界
scanf中
%d为十进制
%i可以匹配十进制、八进制、十六进制。在前面加0X为16进制如果有前缀0则为八进制

posted @ 2020-12-13 23:42  剑客猫  阅读(332)  评论(0编辑  收藏  举报