Código
#include <stdio.h> int strcmp1(char *s, char *t) { /*for(; *s==*t; s++, t++) { printf("s = %p, s = %c\n", s, *s); printf("t = %p, t = %c\n", t, *t); if(*s=='\0') return 0; }*/ return s - t; } int main(void) { if(strcmp1("hola", "hola") == 0) puts("Igual"); else puts("Desigual"); return 0; }
Según veo con el depurador las direcciones de las cadenas son iguales sin ambas son iguales caso contrario son diferentes. Siendo sincero no entiendo porque pasa esto dos cadenas diferentes no deberían ocupar la misma dirección al mismo tiempo ¿Alguien puede explicar que ocurre aquí?