ho questo codice:C stringhe Confronto con il segno di uguale
char *name = "George"
if(name == "George")
printf("It's George")
ho pensato che le stringhe C non potevano essere confrontato con ==
segno e devo usare strcmp
. Per ragioni sconosciute quando compilo con gcc (versione 4.7.3) questo codice funziona. Ho pensato che fosse sbagliato perché è come confrontare i puntatori, quindi ho cercato su google e molte persone dicono che è sbagliato e non si può fare il confronto con ==
. Quindi, perché questo metodo di confronto funziona?
utilizzare 'strcmp()', si confrontano gli indirizzi. –
Puoi controllare che qui http://stackoverflow.com/questions/13253113/strcmp-with-pointers-not-working-in-c. – someone
@nouney Che cos'è UB? Non vedo alcuna ragione per questo. –