突然发现代码不是直接从编译器Ctrl+C Crtl+V就完事了
还得有个这个
#include <stdio.h>
//1.部分占位符
int main()
{
printf("%d\n",100);//十进制整数
printf("%s\n","亻尔女子");//字符串
int a = 10;
printf("%p\n",&a);//指针,x64,x86
char ah = 'Q';
printf("%c\n", ah);//字符
printf("%c\n", 'K');//字符
int b = 100;
printf("%c\n", b);//字符,b = 100打印出d
printf("%d\n", b);//十进制整数
//2.限定宽度
printf("%5d\n", 123);//占位符至少5位,如果不满5位,对应值前添加空格(默认右对齐)
printf("%-5d\n", 123);//占位符至少5位,如果不满5位,对应值后空格补齐(左对齐)
printf("%12f\n", 123.45);//占位符至少12位,小数点后默认6位,对应值前补2个空格(小数点占一位)
//3.总是显示正负号
printf("%+d\n",12);//输出+12(%+)
printf("%+d\n",-12);//输出-12
printf("%d\n",12);//输出12(%)
printf("%d\n",-12);//输出-12
//4.限定小数位数
printf("%.2f\n", 12.434);//保留2位小数
printf("%.2f\n", 12.4);//补齐12.40
printf("%6.2f\n", 12.4);//右对齐,占位符最小总宽度6位,小数点后保留2位
printf("%*.*f\n", 6,2,12.4);//最小宽度和小数位数用*替代,通过printf的参数传入
//5.输出部分字符串
printf("%.5s\n", "hello, world");//输出hello(5位)
return 0;
}
真是脑洞大开的一天