Ciao, vi mando due esempi di codice in cui l'operatore == tra stringhe si comporta in maniera diversa:
codice:#include <stdio.h> #include <string.h> #include <malloc.h> int main() { char* s1=malloc(sizeof(char)*21); s1="01"; if(s1=="01") printf ("Uguale!\n") ; else printf("Diverso!\n"); }nel primo esempio stampa "Uguale!" nel secondo "Diverso!".codice:#include <stdio.h> #include <string.h> #include <malloc.h> int main() { char* s1=malloc(sizeof(char)*21); strcpy(s1,"01"); if(s1=="01") printf ("Uguale!\n") ; else printf("Diverso!\n"); }
Qualcuno sa dirmi come mai questa differenza?
grazie a tutti

Rispondi quotando