一起talk C栗子吧(第一百八十三回:C语言实例--在printf函数中设置输出宽度二)
各位看官们,大家好,上一回中咱们说的是通过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函数中设置输出宽度的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。
上一篇: 重庆八哥酸辣粉加盟费用及条件有哪些!
下一篇: 目录,文件操作详谈—PHP
推荐阅读
-
一起talk C栗子吧(第一百八十三回:C语言实例--在printf函数中设置输出宽度二)
-
一起talk C栗子吧(第一百八十二回:C语言实例--在printf函数中设置输出宽度一)
-
一起talk C栗子吧(第一百八十三回:C语言实例--在printf函数中设置输出宽度二)
-
一起talk C栗子吧(第一百八十四回:C语言实例--在printf函数中设置输出宽度三)
-
一起talk C栗子吧(第一百八十一回:C语言实例--通过printf函数输出%)
-
一起talk C栗子吧(第一百七十四回:C语言实例--关闭终端中的缓冲功能二)
-
一起talk C栗子吧(第一百七十一回:C语言实例--关闭终端中的回显功能二)
-
一起talk C栗子吧(第一百八十四回:C语言实例--在printf函数中设置输出宽度三)
-
一起talk C栗子吧(第一百八十二回:C语言实例--在printf函数中设置输出宽度一)
-
一起talk C栗子吧(第一百八十一回:C语言实例--通过printf函数输出%)