zoukankan      html  css  js  c++  java
  • *号在C语言格式化字符串中的作用

    云中漫步 » *号在C语言格式化字符串中的作用

    *号在C语言格式化字符串中的作用

        只要熟悉C语言的人,没有不熟悉格式化字符串的,因为基本上所有人学习C语言的第一个函数都是printf函数。当然printf所支持的格式化输出字符串也是每个学习C语言的人所熟悉。但是这几天在查看一个开源库代码的时候发现在格式化字符串中有“*”号,恕Simon愚钝,猛一看还真不知道什么意思。看来学习无止境阿,我们整天用的printf函数还是需要我们再进行深入学习的!

        请看如下函数代码:

       1: #include <;stdio.h>

       2:  

       3: int main()

       4: {

       5:     int width = 10, precision = 2;

       6:     double pi = 3.1415926;

       7:  

       8:     printf("%*.*f", width, precision, pi);

       9: }

      10:  

        上面的代码输出是什么呢?上面的*代表什么呢?让人迷惑阿!

        把上面的代码转换一下,转换成另外一段代码大家熟悉了。上面的代码等价于下面的代码:

       1: #include <;stdio.h>

       2:  

       3: int main()

       4: {

       5:     double pi = 3.1415926;

       6:  

       7:     printf("%10.2f", pi);

       8: }

       9:  

        如果问上面这段代码的输出是什么?大家肯定都知道是什么了吧。

        在C语言的格式化字符串中的*的作用就是,从后面的参数中读取一个整数来代替这个*,以上面的例子为例:第一*将会读取width来代替*号,第二个*号将会读取下一个参数precision来代替*号。这样就等价printf("%10.2f", pi)了。

  • 相关阅读:
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业01
    学期总结
    C语言I博客作业08
    C语言I博客作业07
  • 原文地址:https://www.cnblogs.com/lexus/p/2620105.html
Copyright © 2011-2022 走看看