C语言:如何将输出变成你喜欢的样子之printf()函数的打开方式

 
 
 
        首先printf() 是在标准库的头文件 stdio.h 定义的,使用这个函数之前,必须在源码文件头部引入这个头文件。
#include <stdio.h>

一.基本用法

   printf() 的作⽤是将参数文本输出到屏幕。它名字里面的 f 代表 format (格式化),表示可以
定制输出文本的格式,该函数的原型如下。
int printf(const char *format, ...);

     其中,format是一个格式控制字符串,用于指定输出的格式,而后面的省略号表示可以传入多个参数,用于替换format字符串中的格式化标记。

#include <stdio.h>
int main(void) 
{
 printf("Hello World\n");
 return 0;
}

      来个大家都会的用法 ,printf()不会在行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行,为了让光标移到下⼀⾏的开头,可以在输出⽂本的结尾,添加⼀个换行符 \n 。

二.占位符

      不同类型的占位符对应不同类型的变量,上一篇文章里有常用占位符的简述。http://t.csdnimg.cn/6pWWs

      以下是一个简单的示例:

#include <stdio.h>

int main() 
{
    int num = 10;
    float f = 3.14;
    char str[] = "Hello, World!";

    printf("num is %d\n", num);
    printf("f is %f\n", f);
    printf("str is: %s\n", str);

    return 0;
}

输出:num is 10

        f is 3.14

        str is: Hello, World

三.最小宽度

       1. printf() 允许限定占位符的 最小宽度
#include <stdio.h>
int main()
{
 printf("%5d\n", 123); // 输出为 " 123"
 return 0;
}

 程序会输出:  123

      若将5替换成-5,则会在其后使用空格补齐不足的宽度,也就是向左对齐。

      2. 如果既想要宽度又想输出想要的小数位数该怎么办呢?

#include <stdio.h>
int main()
{
 double a = 1.234567
 printf("%12.4lf\n", a); // 输出为 "      1.2345"
 return 0;
}

      其中12是宽度,  .4 是保留4位小数。1.2345的宽度是6,所以会在其前面用空格补齐6个宽度。

      3. 最小宽度和小数位数这两个限定值,都可以用 * 代替,通过 printf() 的参数传入。
#include <stdio.h>
int main()
{
 printf("%*.*f\n", 6, 2, 0.5);
 return 0;
}
// 等同于printf("%6.2f\n", 0.5);

四.输出部分字符串

    %s 占位符⽤来输出字符串,默认是全部输出。如果只想输出开头的部分,可以用 %.[m]s 指定输出的长度,其中 [m] 代表⼀个数字,表示所要输出的长度。
// 输出 hello
#include <stdio.h>
int main()
{
 printf("%.5s\n", "hello world");
 return 0;
}
      上面示例中,占位符 %.5s 表示只输出字符串“hello world”的前5个字符,即“hello”。
 
 
 
 
     新人卑微求点赞

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

库库爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值