elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Al comparar dos char salta error.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Al comparar dos char salta error.  (Leído 3,571 veces)
Jucazuor

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Al comparar dos char salta error.
« en: 12 Agosto 2017, 21:24 pm »

Hola a todos.

Hace poco comencé a estudiar C por lo que espero sepan disculpar si lo que voy a plantear es un error tonto. El asunto es que en una consigna de trabajo me pide crear un juego de memoria, de tipo buscar parejas iguales, en el que tengo que crear una tabla y el usuario debe ingresar dos coordenadas con el fin de encontrarlas.

Una de las instrucciones es que la tabla se disponga de la siguiente manera:

123456
A??????
B??????
C??????
D??????
E??????
F??????

Y por ende las coordenadas a ingresar deben ser del tipo A1, B5, F2, etc.

Por lo tanto tengo que descomponer cada coordenada para saber la fila y la columna de mi matriz (tabla) con la que trabajaré posteriormente. Por ahora tengo lo siguiente:

Código
  1. char caracteres[] = {'A','B','C','D','E','F'};
  2. /*
  3.  
  4. Codigo
  5.  
  6. */
  7. void coordenadas(){
  8. char coord1[2], coord2[2];
  9.  
  10. printf("\nIngrese coordenada 1 a mostrar: ");
  11. scanf("%s", coord1);
  12.  
  13. printf("Ingrese coordenada 2 a mostrar: ");
  14. scanf("%s", coord2);
  15.  
  16. for(int i = 0; i < 6; i++){
  17. char a = coord1[0];
  18. char b = caracteres[i];
  19.  
  20. if (strcmp(a, b) == 0){
  21. //Codigo a ejecutar si la condicion se cumple
  22. }
  23. }
  24. }

Pero el strcmp(a, b) == 0 me da error y me gustaría saber por qué. Siempre tengo problemas con las variables de tipo char :/

Gracias de antemano.

PD: Por las dudas si tengo la librería string.h


« Última modificación: 12 Agosto 2017, 21:25 pm por Jucazuor » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Al comparar dos char salta error.
« Respuesta #1 en: 12 Agosto 2017, 22:13 pm »

strcmp compara cadenas de caracteres, no caracteres. Los "char" asecas son tipos enteros. Son números de 1 byte. Puedes compararlos con ==, como lo harías con un int.

Código
  1. char a,b;
  2. if(a == b){}


En línea

Jucazuor

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Al comparar dos char salta error.
« Respuesta #2 en: 12 Agosto 2017, 23:43 pm »

strcmp compara cadenas de caracteres, no caracteres. Los "char" asecas son tipos enteros. Son números de 1 byte. Puedes compararlos con ==, como lo harías con un int.

Gracias por la información, esa no me la sabía :)

Anteriormente tuve que comparar cadenas y al ver que no funcionaba con el tradicional == busque como hacerlo y vi que se utilizaba la función strcmp. Curiosamente en este tema pasó lo contrario. Había dado por hecho que era lo mismo para los caracteres.

Gracias nuevamente. El programa va sin problemas (por ahora jaja).

En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Al comparar dos char salta error.
« Respuesta #3 en: 12 Agosto 2017, 23:45 pm »

Ten en cuenta que lo único que hace strcmp es comparar 1 a 1 los caracteres de las cadenas que le das (algo tedioso de tenerlo que hacer a mano en cada lugar que se necesite)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comparar dos Char por medio de un If
Programación C/C++
Hack-11 5 67,118 Último mensaje 21 Octubre 2011, 07:15 am
por s00rk
ERROR excepcion: char* = char* + n « 1 2 »
Programación C/C++
x64core 10 6,074 Último mensaje 21 Enero 2012, 20:20 pm
por Eternal Idol
Comparar valores String o Char [C++]
Programación C/C++
zikotik 9 6,891 Último mensaje 16 Noviembre 2014, 20:39 pm
por zShackra
(Ayuda) Error al modificar el valor de un char en una cadena const char *
Programación C/C++
Seyro97 4 8,237 Último mensaje 2 Julio 2015, 15:17 pm
por Seyro97
Windows Error Recovery me salta este Error en el Portátil Hp Probook 6560b « 1 2 3 »
Windows
El_Andaluz 28 25,944 Último mensaje 23 Julio 2022, 15:59 pm
por El_Andaluz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines