注册 登录
编程论坛 C++教室

关于c中的制表符用法问题

wushengyao 发布于 2013-04-20 12:18, 3648 次点击
在一个程序中看到这样一个制表代码:
#include <stdio.h>
main()
{
 printf("%3s\t%-10s\t%-8s\t%-10s\t%-10s\t%-10s\n",
                        "No.","date","in_out","amount","kind","remain");
}

第四行中:%3s\t%-10s\t%-8s\t%-10s\t%-10s\t%-10s 不太懂
谁能解释下
输出 "NO."  应该是这样:printf("%s","No.")
加制表符后怎么是"%3s\t%-10s"  问什么要在 %3s\t% 与 10s 加个'-' 那个10是什么意思?
%3s\t%-10s\t%-8s\t%-10s\t%-10s\t%-10s 该怎么断句,不懂。

路过的大神求解释

8 回复
#2
wushengyao2013-04-20 12:49
帖子发到c++教室了、、、哎。  
希望懂c的看下,谢了
#3
不玩虚的2013-04-23 20:59
这个是c语言的基础吧,书上都有的吧,一个%1断句了,这些都只是控制输出格式的和你后面输出的内容是相对应的。6个%,后面有6个要输出的参数,至于-数字s也是格式控制的,是输出的内容占几个字节还是啥来着忘了,这个很重要的,不然你输出的内容老是缺胳膊少腿的。错了别介意,看书才是正点
#4
邓士林2013-04-24 00:06
这些都是c语言格式的控制基础啊!好好看书就可以,\t是横向跳格
C:\Users\acer\Desktop\捕获.JPG

[ 本帖最后由 邓士林 于 2013-4-24 00:07 编辑 ]
#5
不要脸的猫2013-04-24 08:08
#6
不要脸的猫2013-04-24 08:14
输出字符,默认是右对齐,%后加负号则表示左对齐,至于%后面的数字则是控制输出字符宽度的,字符宽度不够时,用空格补齐,超出时原样输出。制表符是用来间隔输出字符的,理论上讲会在它出现的地方输出占4字节的宽度的空格!
#7
wushengyao2013-04-25 10:05
书上没制表符详细介绍。。。


结贴了。
#8
peach54602013-04-25 10:11
以下是引用wushengyao在2013-4-25 10:05:58的发言:

书上没制表符详细介绍。。。


结贴了。

要么书太烂,要么你看书不仔细
#9
wushengyao2013-05-09 09:58
回复 8楼 peach5460
额,觉得上图书馆查专业书籍有点麻烦,就直接上论坛问了。。
1