什么是尾随空格和制表符? K&R 练习 1.18

What are trailing blanks and tabs? K&R Exercise 1.18

在 Kernighan & Ritchie 的 The C Programming Language 的 ex 1.18 中,要求 reader 编写一个程序来删除尾随空格和制表符,并删除整个空行。尾随空格和制表符是什么意思?连续的制表符或空格尾随空格和制表符吗?另外,一个完全空白的行意味着只是连续的 '\n' s,或者 "\n \n" 也会被认为是一个空白行吗?

尾随空白通常是指一行中最后一个非空白字符之后的空白。

我认为 "\n \n" 应该被认为是一个空白行(这是 Apache StringUtils 使用的空白与空的区别:空字符串的长度为 0,空白字符串仅包含空格)。您将以任何一种方式删除它们,因为您会先删除尾随空格,将它们留空。

尾随制表符和空格 - 行尾的制表符和空格

出于所有实际目的,我会将 \n\n\n \n 算作空白行