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");
}
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");
}
nel primo esempio stampa "Uguale!" nel secondo "Diverso!".
Qualcuno sa dirmi come mai questa differenza?
grazie a tutti