K&R练习1-20 – 需要一些澄清
我不完全理解以下练习的内容:
“编写一个程序详细信息,用空格中适当数量的空格替换输入中的选项卡到下一个制表位。假设一组固定的制表位,比如每n列。应该是变量还是符号参数?”
有人可以澄清粗体部分吗?
此练习要求您通过添加正确数量的空格来模拟选项卡的行为,以便输出仍然在制表位上对齐。
例如 :
"hello\tworld"
应成为:
"hello world"
(标签已被三个空格替换),如果制表位是每4列(即n = 4)。
或者通过指示标签停止的位置来澄清:
hello world ^ ^ ^ ^
如果制表位是每3列,那么你应该得到:
hello world ^ ^ ^ ^
(标签仅替换为1个空格)
例如,如果你将一个tabstops的例子设置为n = 8,那么如果输入有1个字符,则选项卡将添加7个空格(带你到第9列)。 基本上,不要总是添加n个空格,添加空格的数量,将您带到特定n值的相应列。
例如:
1 1234567890123456789 1------> 123----> More words----->
“假定一组固定的制表位”基本上适用于非程序员。 我们习惯于一个总是在4,8的倍数上对齐的标签。 但是在文字处理器中,制表位是可配置的…所以第一个选项卡会在第6列对齐,第二个选项卡将转到30(例如对于中心文本),第三个选项卡会给出第70列(对于页码)或者其他的东西)。 他只是在这里指出我们谈论的是“程序员”tabstops,而不是文字处理器的tabstops。