可以使用两个指针来去除重复字符。
首先,创建一个空的字符串,用于存储结果。
然后,遍历原始字符串中的每一个字符。对于每个字符,检查它是否已经出现在结果字符串中。如果没有出现,则将该字符添加到结果字符串中。
最后,返回结果字符串。
下面是一个示例代码:
```c
#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!
```