char ch;
ch = 'g';
printf("%cn", ch);
if ('a' <= ch && ch <= 'z')
ch = ch - 'a' + 'A';
printf("%cn", ch);
quiero que convierta de mayúscula a minúscula, pero me falla en algo (si, soy nuevo en esto)
char ch;
ch = 'g';
printf("%cn", ch);
if ('a' <= ch && ch <= 'z')
ch = ch - 'a' + 'A';
printf("%cn", ch);
quiero que convierta de mayúscula a minúscula, pero me falla en algo (si, soy nuevo en esto)
Si hace eso siempre imprimirá la A mayúscula, lo que quiere es convertir cualquier letra en el rango [a-z] en su correspondiente letra mayúscula en [A-Z]. En principio no se ve nada excesivamente raro en el código de #1. Aparte del fallo en el printf (imagino que la %cn es en realidad %c\n para imprimir el caracter y un salto de línea) y que no has puesto el main/include el programa funciona bien (la parte de la conversión al menos). Échale un vistazo a este link: http://codepad.org/TywcSl4m . El código sería algo como:
#include <stdio.h>
void main()
{
char ch;
ch = 'g';
printf("%c\n", ch);
if ('a' <= ch && ch <= 'z')
ch = ch - 'a' + 'A';
printf("%c\n", ch);
}
#4 Según el compilador que uses es posible que tengas que pasarle algo por parámetro al main(), en plan String[] Args. Si no dices el error concreto...
#include <stdio.h>
void main()
{
char ch;
ch = 'g';
printf("%c\n", ch);
if ('a' <= ch && ch <= 'z')
ch = ch - 'a' + 'A';
printf("%c\n", ch);
return 0;
}
Si te sigue dando error, cambia void main() por int main().
#7 debe ser mi compilador porque me sigue dando error en el corchete :S
vale no he dicho nada, ahora si, con el int main
#12 ya bueno pero es que las funciones void no devuelven nada, asi que el cambio correcto seria cambiar el void por el int y poner el return 0. Además de ser una buena práctica y muy recomendable para ayuda a los depuradores xD