Hay demasiados errores de inicialización en los programas C++.
El primer carácter entre comillas simples en realidad representa un número entero, que corresponde al valor de la secuencia de caracteres en el conjunto de caracteres utilizado por el compilador. Por lo tanto, para un compilador que utiliza el juego de caracteres ASCII, "a" significa exactamente lo mismo que el decimal 97.
Una cadena entre comillas dobles representa un puntero al carácter inicial de una matriz desconocida, que se inicializa con los caracteres entre comillas dobles y un carácter 0 binario adicional "\0".
Datos extendidos
Al definir "carácter", el delimitador debe estar entre comillas simples. Al imprimir caracteres en la pantalla, debe utilizar el marcador de posición "%c" en la función printf. Cuando desea imprimir una cadena en la pantalla, se utiliza el marcador de posición "%s" en la función printf. Es diferente del marcador de posición "%c" para "carácter".
Carácter" ocupa un byte, pero "cadena" ocupa varios bytes. Además, al final de "cadena", el compilador agrega automáticamente el carácter "\0". En el código ASCII, "\ 0" representa un carácter nulo.
Si utiliza comillas simples al definir una constante de cadena, el programa informará un error. Al definir una cadena, debe agregar "corchetes" después del nombre de la variable, similar al formato al definir "matriz"