频道栏目
首页 > 程序开发 > 软件开发 > C语言 > 正文
一起talk C栗子吧(第一百八十三回:C语言实例--在printf函数中设置输出宽度二)
2016-10-02 09:21:00         来源:talk_8的专栏  
收藏   我要投稿

各位看官们,大家好,上一回中咱们说的是通过printf函数输出%的例子,这一回咱们继续说该例子 。闲话休提,言归正转。让我们一起talk C栗子吧!


看官们,我们在前一回中介绍了如何在printf函数中设置输出宽度,相信大家现在已经会设置了,不过关于输出宽度的设置还有一些细节需要和大家说明:

1.使用固定的宽度
如果输出内容的宽度小于或者等于固定的宽度,那么输出内容的宽度为固定宽度,宽度不足的内容使用空格来填充; 如果输出内容的宽度大于固定的宽度,那么输出内容的宽度为该内容自身 的宽度,它不受限于固定宽度; 2.使用可变的宽度
如果输出内容的宽度小于或者等于可变的宽度,那么输出内容的宽度为可变宽度,宽度不足的内容使用空格来填充; 如果输出内容的宽度大于可变的宽度,那么输出内容的宽度为该内容自身 的宽度,它不受限于可变宽度;

这么说,感觉像在说绕口令,估计大家都没有听明白,大家别担心,我们会举例子来说明的,再说了,光说不练,也不是我们的风格,接下来我们就通过具体的例子来说明这些细节:

#include

int main()
{
    int a = 33;
    int b = 333;
    int c = 1234;
    int d = 12345;
    int width = 4;

    printf("%d,%d \n",c,c);               //使用默认宽度输出宽度为4的内容,当作标尺使用
    printf("%d,%d \n",a,b);               //使用默认宽度输出宽度为2和3的内容
    printf("%4d,%4d \n",a,b);             //使用固定宽度输出宽度为2和3的内容
    printf("%4d,%4d \n",a,d);             //使用固定宽度输出宽度为2和5的内容
    printf("%4d,%4d \n",d,b);             //使用固定宽度输出宽度为5和2的内容

    printf("%d,%d \n",c,c);                //输出标尺,供参考使用
    printf("%*d,%*d \n",width,a,width,b);  //使用可变宽度输出宽度为2和3的内容
    printf("%*d,%*d \n",width,a,width,d);  //使用可变宽度输出宽度为2和5的内容
    printf("%*d,%*d \n",width,d,width,b);  //使用可变宽度输出宽度为5和3的内容
    printf("%d,%d \n",c,c);                //输出标尺,供参考使用

    return 0;
}

我们把上面的内容保存到文件中,然后编译生成可执行文件,并且运行该可执行文件,下面是程序的运行结果,请大家参考:

1234,1234      //第一行,当作标尺使用
33,333             //第二行
  33, 333          //第三行
  33,12345       //第四行
12345, 333      //第五行
1234,1234       //第六行,当作标尺使用
  33, 333          //第七行
  33,12345       //第八行
12345, 333      //第九行
1234,1234       //第十行,当作标尺使用

大家对比第一行和第二行的内容可以看出,使用默认宽度输出内容时,输出内容的宽度与内容自身的宽度保持一致。

大家对比第二行和第三行的内容可以看出,使用固定宽度输出内容时,输出内容的宽度与固定宽度保持一致,不过此时输出内容自身的宽度比固定宽度小,因此才有这种结果。如果输出内容自身的宽度比固定宽度大,那么输出内容的宽度就是其自身的宽度,我们在第四行和第五行中可以看出来,它们比第三行的宽度要大,虽然它们都使用了相同的固定宽度,但是输出内容的宽度是不同的。其实这点也容易理解,毕竟我们优先保证输出内容,然后才看输出内容时的宽度设定。

使用可变宽度进行宽度设置时,其结果和使用固定宽度进行宽度设置的结果相同,我们就不做详细分析了。此外,我们在代码中使用的可变宽度为4,该值和固定宽度的值相同,大家可以把第七行,八行,九行的运行结果中和第三行,四行,五行的运行结果进行对比,它们是完全相同的。鉴于这个原因,第七行,八行,九行这三行的运行结果对比就留给大家了,哈哈。

此外,这里是文本显示,大家可能看不清楚其中的空格,建议大家自己动手实践一下,从终端中可以清楚地看出来其中的空格。为了方便观看,我们还专门设定了宽度为4的标尺,大家可以依据自己的需要来设置标尺,标尺的宽度也可以自行设定。

各位看官,关于在printf函数中设置输出宽度的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。

点击复制链接 与好友分享!回本站首页
上一篇:一起talk C栗子吧(第一百八十二回:C语言实例--在printf函数中设置输出宽度一)
下一篇:一起talk C栗子吧(第一百八十四回:C语言实例--在printf函数中设置输出宽度三)
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站