在C语言中,可以使用一个新的字符串数组来存储去重后的字符。具体方法如下:
下面是一个示例代码:
#include <stdio.h>
void removeDuplicates(char* str) {
int hash[256] = {0}; // 用于标记字符是否已经出现过
int currentIndex = 0;
for (int i = 0; str[i]; i++) {
if (hash[(int)str[i]] == 0) {
str[currentIndex] = str[i];
currentIndex++;
hash[(int)str[i]] = 1;
}
}
str[currentIndex] = '\0';
}
int main() {
char str[] = "hello world";
removeDuplicates(str);
printf("String after removing duplicates: %s\n", str);
return 0;
}
运行上述代码后,将输出去重后的字符串:“helo wrd”。