我正在尝试扫描我的参数列表 argv[],并确定是否有重复的字符。我已经尝试了一些东西,但似乎没有任何效果。我真的是 C 的新手,所以请忍受我可怕的代码:
char unavailableLetters[26] = "";
int pos = 0;
for(i = 0; i < (argc-1); i++) {
int size = strlen(argv[i+1]);
for(j = 0; j < size; j++) {
char c = argv[i+1][j];
if(j == 0) {
unavailableLetters[pos] = c;
pos+=1;
} else {
char *s = strchr (unavailableLetters, c);
if(s == NULL) {
unavailableLetters[pos] = c;
pos += 1;
}
}
}
}
我这里的逻辑是解析所有参数,然后解析每个字符,首先检查它是否包含在不可用字母数组中,如果不是 - 添加它,然后继续。但无论我尝试什么,它们要么全部被添加,要么一个都不添加。这可能不是最好的方法,但我没有想法。
- 项目清单