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