可以使用两个指针来去除重复字符。
首先,创建一个空的字符串,用于存储结果。
然后,遍历原始字符串中的每一个字符。对于每个字符,检查它是否已经出现在结果字符串中。如果没有出现,则将该字符添加到结果字符串中。
最后,返回结果字符串。
下面是一个示例代码:
#include#include void removeDuplicates(char* str) { int len = strlen(str); char result[len]; int index = 0; for (int i = 0; i < len; i++) { int j; for (j = 0; j < index; j++) { if (str[i] == result[j]) { break; } } if (j == index) { result[index++] = str[i]; } } result[index] = '\0'; strcpy(str, result); } int main() { char str[] = "Hello World!"; removeDuplicates(str); printf("String after removing duplicates: %s\n", str); return 0; }
这个代码中,removeDuplicates
函数接受一个字符数组作为参数,并修改原始字符串,去除重复字符。main
函数中的示例代码演示了如何调用该函数。输出结果为:
String after removing duplicates: Helo Wrd!