C语言printf用法详解


#include <stdio.h>
int main()
{
    printf("%s","hello world1!\n");//%s字符标志可省略 字符串。输出字符串中的字符直至字符串中的空字符(字符串以空字符’\0‘结尾)
    printf("hello world2!\n");
    int bla=10;
    float blb=10.005;
    float blc=0.00000323;
    printf("%d\n",bla);//%i %d输出十进制有符号32bits整数 
    printf("%i\n",bla);
    printf("%o\n",bla);//%o八进制显示 
    printf("0%o\n",bla);//一般八进制显示前面带0,与十进制相区分
    printf("%u\n",bla);//无符号十进制整数 
    printf("%x\n",bla);//%x十六进制显示 :小写 (10-15) 
    printf("%X\n",bla);//%x十六进制显示 :大写 (10-15) 
    printf("0x%x\n",bla);//%x十六进制显示 :小写 (10-15) ,一般十六进制以0X开头 
    printf("0X%X\n",bla);//%x十六进制显示 :大写 (10-15),一般十六进制以0X开头 
    printf("%e\n",blb);//%e科学计数法表示 
    printf("%E\n",blb);//%E科学计数法表示浮点数 
    printf("%E\n",blb);//%E科学计数法表示浮点数
    printf("%f\n",blb);//%f单精度浮点数 
    printf("%lf\n",blb);//%lf双精度浮点数
    printf("%g,%f,%e\n",blc,blc,blc); //%g选择最短的方式输出(从%e %f选择)
    printf("%G,%f,%e\n",blc,blc,blc); //%g选择最短的方式输出(从%e %f选择)
    int bld=65;
    printf("%#X\n",&bld);//得到变量bld的地址 
    printf("%c\n",bld);//%c字符型。可以把输入的数字按照ASCII码相应转换为对应的字符
    printf("%010p\n","lvlv");//输出:0x004007e6,C语言中有一个控制符%p,专门用来以十六进制形式输出地址,不过 %p 的输出格式并不统一,有的编译器带0x前缀,有的不带
    int a = 100;
    char str[20] = "c.biancheng.net";
    printf("%#X, %#X\n", &a, str);//%#X表示以十六进制形式输出,并附带前缀0X。a 是一个变量,用来存放整数,需要在前面加&来获得它的地址;str 本身就表示字符串的首地址,不需要加&。
      int num=0;
    printf("lv534543lv%n\n",&num);
    printf("num:%d\n",num);
    printf("%%\n");//输出:%
    printf("%m\n");//打印errno值对应的出错内容(不明白)
    printf("%a %A",15.15,15.15);//十六进制p计数法输出浮点数,a为小写,A为大写 
    /*2.2标志(flags)
flags规定输出样式,取值和含义如下:

字符    名称    说明
-    减号    结果左对齐,右边填空格。默认是右对齐,左边填空格。
+    加号    输出符号(正号或负号)
space    空格    输出值为正时加上空格,为负时加上负号
#    井号    type是o、x、X时,增加前缀0、0x、0X。
type是a、A、e、E、f、g、G时,一定使用小数点。默认的,如果使用.0控制不输出小数部分,则不输出小数点。
type是g、G时,尾部的0保留。
0    数字零    将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用“-”)
*/
printf("%+d %+d\n",1000,-1000);     //输出正负号
 
printf("% d % d\n",1000,-1000);     //正号用空格替代,负号输出
 
printf("%x %#x\n",1000,1000);       //输出0x
 
printf("%.0f %#.0f\n",1000.0,1000.0);//当小数点后不输出值时依然输出小数点
 
printf("%g %#g\n",1000.0,1000.0);   //保留小数点后后的0
 
printf("%05d\n",1000);              //前面补0

    
     
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM