引数リスト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;
}
}
}
}
ここでの私のロジックは、すべての引数を解析してから各文字を解析し、最初にそれがavailableLettersの配列に含まれているかどうかを確認し、含まれていない場合は追加して先に進むことです。しかし、私が何をしようとしても、それらはすべて追加されるか、まったく追加されません。これはおそらく最善の方法ではありませんが、アイデアがありません。
- リスト項目