0
所以這是我的代碼,我試圖用單個空格替換多個空格和製表符。輸入是多行,包含多個製表符和空格(包括混合製表符和空格句)。我多寫這之後卡住:用一個空格替換一個或多個空格和/或製表符的每個字符串
#include <stdio.h>
#define NONBLANK 'a'
main(){
int c, lastc;
lastc = NONBLANK;
while ((c = getchar()) !=EOF) {
if (c != ' ' || lastc !=' '){
if (c != '\t' || lastc !='\t'){
putchar(c);
lastc = c;}
}
}
}
}
你的想法是保存最後一個字符是好的,但你應該修改你的邏輯。空間或標籤?當最後一個字符不是空格或製表符時打印一個空格。還要別的嗎?無論最後一個字符如何打印。 – 2015-01-20 20:05:39
一目瞭然(除非我錯過了一個錯誤),這似乎應該用一個空格替換空格的運行,並用單個選項卡運行一個標籤。這是你的意圖,還是應該將空格和製表符混合替換爲一個字符?你也可能對'isspace'函數感興趣,儘管它也捕獲換行符。 http://www.mkssoftware.com/docs/man3/isspace.3.asp – Katie 2015-01-20 20:06:29