逛論壇,看見一個問題:寫一個函數void RemoveChars(char * src, char * remove),從一個字符串src中刪除一些字符,既刪除remove中包含的所有字符。動手寫了寫。
利用狀態數組flags,該數組的下標爲字符的ASCII值,來存儲字符的狀態,如果是要被刪除的字符,則相應的數組元素置爲1。然後通過遍歷原字符串,對其中的每個字符檢查其對應數組元素的狀態。此處狀態數組可理解爲一種hash關係。
結果:
imes!
請按任意鍵繼續. . .
ps. 用註釋掉的char *src="iamatest!";會出錯。
src[pos]='/0'; 這句爲了截去多餘的字符。