首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

printf("\nCC\toptions\tfile.[cC]\n");打印结果是什么,该如何解决

2014-01-12 
printf(\nCC\toptions\tfile.[cC]\n)打印结果是什么请问这句:printf(\nCC\toptions\tfile.[cC]\n)为

printf("\nCC\toptions\tfile.[cC]\n");打印结果是什么
请问这句:printf("\nCC\toptions\tfile.[cC]\n");

为什么打印出来的结果中file前面的是一个空格?

[解决办法]
\t是一个制表符位, 默认8个空格长度, 它会跳到下一个8的倍数的整数列上
options已经占了7位,/t只是向后移动一位
[解决办法]
\t是一个制表符位, 默认8个空格长度, 它会跳到下一个8的倍数的整数列上(从第0列开始数)
 options已经占了7位,/t只是向后移动一位
[解决办法]

引用:
调试的结果显示:CC       options file.[cC]
从结果上看,明显第一个\t处跳转位置正确,而后面的\t应该是接着前面的options显示后,再跳一个制表位(即7个空字符)才显示后面的file这个单词才正确呀?可结果显示,第二个\t只后跳了一个空字符。求解释。

可以理解成为\t显示的长度是[1,8],至少是一个空位(前面有7个字符时),至多8个空位(前面已经对齐到8的整数倍)
具体是1还是8.显示完\t后一行的长度为8的整数倍为准.
options 7个字符,加一个\t, 这是只要一个空格的位置,就可以对齐到8的整数倍位置,即'f'显示在第8列上(base on 0).
试试
$ echo -e "\nCC\toptions\tfile.[cC]\n"

CC      options file.[cC]

$ echo -e "\nCC\toptions1\tfile.[cC]\n"

CC      options1        file.[cC]

(代码显示有问题,使用了空格代替制表符)

热点排行