También se puede hacer con el código ASCII.
También se puede hacer con el código ASCII.
Por poderse se puede, pero si el lenguaje te da una opción para hacerlo, mejor será utilizar ese método. Salvo que se especifique que no se puede usar.
Saludos.
no sé que opción sea más eficienteLa opción de no escribir código es mejor siempre que no tengas una razón concreta para escribirlo. Y cuando la tienes también, en la mayoría de los casos.
Esto también puede ser:Código: C
for(int i = 0; palabra[i]; i++){ }
esto quizá te sirva :)
Código: C
for(int i = 0; palabra[i]; i++) palabra[i] += 32;Código: C
for(int i = 0; palabra[i]; i++)palabra[i] =palabra[i] | 32;
char c = palabra[i];
if (c >= 'A' && c <= 'Z')
c += ('a' - 'A');
Esas funcionan si es una palabra (solo letras sin acentos), pero no para símbolos de puntuación.Supongo que te refieres a comas y puntos, por que con mayúsculas y minúsculas acentuadas sí debería funcionar.
¿Qué se supone que hace ese código? Me parece que falta algo. De todos modos estoy bastante seguro de que afecta a muchos caracteres que no son letras.Código: [Seleccionar]for(int i = 0; palabra[i]; i++) (palabra[i] | 191) < 255? : palabra[i] +=32;
No hay ninguna garantía de que funcione. Por ejemplo, en UNICODE canónico, que la letra y su acento vienen como caracteres separados, no funcionaría porque se modificaría el acento.
Citar¿Qué se supone que hace ese código? Me parece que falta algo. De todos modos estoy bastante seguro de que afecta a muchos caracteres que no son letras.Código: [Seleccionar]for(int i = 0; palabra[i]; i++) (palabra[i] | 191) < 255? : palabra[i] +=32;