Bueno este codigo se supone que debe comparar si las 2 variables son iguales o no, hata aqui todo muy correcto y muy facil. Pues por alguna razón al hacer un if comparando si son iguales o no no funciona. Alguien sabe por que??
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(){
printf("Introduce un texto: ");
char t[100],a[100];
gets(t);
strcpy(a,t);
printf("Representacion de variables:\n%s\n%s\n\n",t,a);
if(a==t){
printf("las 2 variables son iguales\n");
}else{
printf("por alguna razon las 2 variables no son iguales\n");
}
system("pause");
}
Hasta donde yo se, no puedes comparar arrays asi, debes mirar todos los elementos de los arrays y comparar que los elementos coinciden.
Dios, pero si haces ese strcpy de la cadena t(origen) a la cadena a(destino), siempre te va mostrar que las dos son iguales xd
P/D: Tengo hambre
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(){
char t[100],a[100];
printf("Introduce un texto: ");
gets(t);
strcpy(a,t);
printf("Representacion de variables:\n%s\n%s\n\n",t,a);
if(strcmp(a,t)==0)
printf("las 2 variables son iguales\n");
else
printf("por alguna razon las 2 variables no son iguales\n");
system("pause");
}
Cita de: Beginner Web en 14 Noviembre 2018, 18:42 PM
Dios, pero si haces ese strcpy de la cadena t(origen) a la cadena a(destino), siempre te va mostrar que las dos son iguales xd
P/D: Tengo hambre
Jajajajajaja
Sin mencionar el bonito BufferOverflow que esta causando si le mete mas de 100 Caracteres, podríamos ejecutar cualquier código en ese input.
Recomendaria cambiar el gets por fgets
gets(t);
por
fgets(t,100,stdin);
Adicionalmente si utiliza el gets si puede que las variables sean diferentes, si le mete mas de 100 caracteres pero no excede los 200 (Necesarios para el bufferoverflow)
Adjunto imagen ;-) ;-) ;-) ;-) ;-) :silbar: :silbar: aun con el strcmp y sumado al gets el Else puede llegar a cumplirse si excedes los 100 Caracteres para el input
(https://i.imgur.com/YnLIB1C.png)
Motivo por el cual RECOMIENDO ROTUNDAMENTE el uso de fgets y tambien de strncmp
Saludos
P/D. Yo también tengo hambre.
Todo eso es cierto, pero a modo aprendizaje esta bien por ahora, despues haria todas las validaciones de datos correspondientes supongo; y otra cosa, sigo con hambre ;-)