Ich möchte zwischen zwei char vergleichen * so mache ich es mit strcmp, aussehen, im Debugging-Modus, beide char * in strcmp bekommt den gleichen Wert und immer noch es wont return 0, und es springt über den if() Zustand, anstatt es zu eingeben:#c strcmp() funktioniert nicht so wie es sollte
hier pic vom Debugger: http://img405.imageshack.us/img405/5218/111fi.jpg
Company FindCompany(CompanyL pcompanyList, int companyIdentityDigit)
{
Company companyFound;
char *psearchWord;
psearchWord = (char*)malloc(10*sizeof(char));
switch(companyIdentityDigit) {
case 0:
strcpy(psearchWord , "Pelephone");
break;
case 2:
strcpy(psearchWord , "Cellcom");
break;
case 4:
strcpy(psearchWord , "Orange");
break;
}
while(pcompanyList->next != NULL) {
if(strcmp(pcompanyList->thisCompany->pcompany , psearchWord) == 0) {
free(psearchWord);
return pcompanyList->thisCompany;
}
pcompanyList = pcompanyList->next;
}
free(psearchWord);
return NULL;
}
warum ist es ??
Mit welchen Werten nennen Sie es? –
Sind die Zeichenfolgen definitiv beide ASCII? Sind Sie sicher, dass die Bytes nach den m in Cellcom beide Nullen sind? – jtdubs
richtig james ... ich werde es beheben, aber es ist nicht das Problem –