Programación VC6.0: ¿Por qué el resultado de la depuración muestra que el recuento de caracteres en chcoding es 0?
Al definir su matriz:
char chcode[] = {'\0'}, chcoding[] = {'\0'}, codekey[] = { '\0 '}; //Inicializa la cadena del array
No se asigna espacio para chcode, chcoding y codekey, solo ocupan una posición de la variable. Por lo tanto, no hay ningún lugar para colocar el contenido leído por scanf(). Excepto por el primer carácter, no está definido dónde se coloca el resto de la información. Por tanto, los resultados de la operación del programa son impredecibles.
Solución: Asigne suficiente espacio (como 100) a esas variables. Por ejemplo:
#define BUFLEN 100
char chcode[BUFLEN] = {'\0'}, chcoding[BUFLEN] = {'\0'}, codekey[BUFLEN] = {'\0'}; //Inicializa la cadena de matriz