删除字符串中多余的空白字符和空行(C语言实现)

要求:处理一个字符串,网站空间,删除字符串中多余的空格、制表符和空行,并满足下列要求:

(1)对原字符串只能进行一次扫描。(2)不允许申请新的空间。(3)处理后的字符串的首尾不能有空格、制表符和空行。(4)如果原字符串中连续出现空格和制表符,香港服务器,服务器空间,则处理后的字符串只需存储一个空格。(5)如果原字符串中连续出现空格、制表符和空行,则处理后的字符串只需存储一个空行。

C语言实现代码如下(该代码经过garbageMan提醒后进行了更改):

1 //state 0: 初始状态 2 //state 1: 前一个字符是’\n'(非初始状态) 3 //state 2: 前一个字符是空格(非初始状态)remove_extra_space(char *str) 6 {i = j = (; str[i] != 0; ++i)12 {|| str[i] == )14 {15if(state == 0 || state == 1 || state == 2)16continue;(state == 3)18 {19str[j++] = ‘ ‘ ;20state = 2;21 }22 }(str[i] == )24 {25if(state == 0 || state == 1)26continue;(state == 2)28 {;30state = 1;31 }(state == 3)33 {;35state = 1;36 }37 }{40str[j++] = str[i];41state = 3;42 }43 }44if(state == 1 || state == 2)45–j;46str[j] = 0;47 }我想有一天和你去旅行。去那没有去过的地方,

删除字符串中多余的空白字符和空行(C语言实现)

相关文章:

你感兴趣的文章:

标签云: