Implemente la conversión de letras a mayúsculas y minúsculas. Múltiples conjuntos de entrada y salida
ejemplo
un
b
un
b
Tabla de contenido
obtener char()
#include<stdio.h>
int main()
{
int ch = 0;
while (ch = getchar())
{
putchar(ch+32);
}
return 0;
}
Porque
Desde el teclado, escriba A e ingrese (\n) al búfer, getchar primero toma A del búfer (A+32 corresponde a a en la tabla ASCII), y toma \n del búfer (\n+ 32 corresponde a * ) en la tabla ASCII
Entonces la salida es: a*
Solución:
Usa otro getchar() para leer el retorno de carro
int main()
{
int ch = 0;
// EOF: end of file
//想让循环停止:Ctrl+Z
while ((ch = getchar()) != EOF)
{
putchar(ch+32);
getchar();//用来读取\n
printf("\n"); //换行
}
return 0;
}
Mejorar
#include<stdio.h>
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)
{
printf("%c\n",ch+32);
getchar();//用来读取\n
}
return 0;
}
escanear()
#include <stdio.h>
int main() {
char ch = 0;
while(scanf("%c ",&ch) != EOF)
{
printf("%c\n",ch+32);
}
return 0;
}
Con respecto a ~scanf() para múltiples conjuntos de entrada en un ciclo while
#include <stdio.h>
int main() {
char ch = 0;
while(~scanf("%c ",&ch))
{
printf("%c\n",ch+32);
}
return 0;
}
fin de semana
EOF va a la definición en lenguaje C y su valor es (-1), fin de archivo, el final del archivo.
EOF es devuelto por una rutina de E/S cuando se encuentra el final del archivo (o en algunos casos, un error).
Significado: cuando se encuentra el final del archivo (o, en algunos casos, un error), el proceso de E/S devuelve EOF.
Al realizar múltiples conjuntos de entrada en el terminal, presione Ctrl+Z para detener la entrada.
- ~ Este es un operador de lenguaje c, negación bit a bit.
Tanto while(scanf("%c",&ch) != EOF) como while(~scanf("%c",&ch)) pueden realizar múltiples conjuntos de entrada y salida.