내가 두 배열있어 문자 C의 배열과 비교가
C.
에 문자 배열에 몇 가지 문제가있어 :char history[10][80];
char *args[80];
그리고 나 또한 얻었다을 char inputBuffer[80]
(이 하나의 문자열을 포함). *args
의 값이 history
에 있는지 확인하고 싶습니다.
histCount
이 0과 10 사이 인 history
으로 채 웁니다.
for(j=0; j<MAX_LINE; j++)
{
history[histCount][j] = inputBuffer[j];
}
은 내가 알아낼 수 없습니다 것은 args[]
일치하는 경우 내가 history
을 통해 루프를 볼 수있는 방법입니다.
- 예
args[0] == 'romeo'
과history[3][0] == 'r'
가 일치하면. args[0] == 'selfie'
및history[7][0] == 's'
인 경우 일치합니다.
내 첫번째 생각은 이런 일을 할 수 있었다, 그러나 어떤 도움을 크게 감상 할 수
for(k=0; k<10; k++) {
if(args[1] == history[k]) {
printf("FOUND!!\n");
}
}
작동하지 않습니다.
샘플 조건 목록이 정확하지 않은 인수에 같은 문자를 찾을 수 있습니다. 'args [0]'은'char *'이고,'history [3] [0]'는'char'입니다. 두 번째 예도 마찬가지입니다. 'args [n]'문자열을'history [m]'문자열과 비교하려고합니다. 원하는 모든 것이 단일 문자 일치라면 args에 또 다른 간접 지정이 필요할 것입니다. – WhozCraig
@WhozCraig 당신 말이 맞습니다. 'arg [1]'은'char *'이고'history [3] [0]'는 char입니다. 서로를 확인하려면 무엇을해야합니까? – Jectson
귀하의 질문에 귀하가 원하는 수표의 종류가 명시되어 있지 않습니다. 다시 말하지만, 각 문자열의 첫 번째 문자 인'(args [n] [0] == history [m] [0])'만 확인하면됩니다. '(strcmp (args [n], history [m]) == 0)'문자열의 완전한 일치를 검사하고 싶다면 두 경우 모두'n'과'm'에 대한 적절한 색인을 사용하여 문제를 다시 해결해. – WhozCraig