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则为八进制