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