que quiero hacer la siguientecómo inicializar matriz de caracteres de una cadena
char a[] = { 'A', 'B', 'C', 'D'};
Pero no quiero escribir estos caracteres por separado. Quiero algo como
#define S "ABCD"
char a[] = { S[0], S[1], S[2], S[3] };
Pero esto no se compilará (gcc dice 'el elemento de inicialización no es constante').
he intentado reemplazar la línea #define con
const char S[] = "ABCD";
Pero eso no parece ayudar.
¿Cómo puedo hacer esto (o algo similar) que me permite escribir el "ABCD" como una 'cadena' normal, y no como cuatro caracteres separados?
P.S. Parece que la gente no lee correctamente la pregunta ...
no puedo obtener el código siguiente para compilar:
const char S[] = "ABCD";
char t[] = { S[0], S[1], S[2], S[3] };
char u[] = { S[3], S[2], S[1], S[0] };
¿por qué no usar simplemente el carácter a [] = "ABCD"; –
Definitivamente debería funcionar. ¿Cómo compilaste? ¿Qué opciones pasas a gcc? – qrdl
Explica por qué quieres que se copie/asigne una cadena de caracteres a otra cadena de caracteres usando la asignación de caracteres individual. – nik