目录
#include <stdio.h>
int main() {
char a;
while (scanf("%c", &a) != EOF) { // 注意 while 处理多个 case
if ((a >= 'a' && a <= 'z') || (a >= 'A' && a <= 'Z')) {
printf("%c is an alphabet.\n", a);
}
else {
printf("%c is not an alphabet.\n", a);
}
getchar();//清除缓冲区,当输入字个字符之后,按下回车缓冲区会有一个‘\n’,会导致下次读字符的先读取它
}
return 0;
}
#include <stdio.h>
int main() {
int a;
while ((a=getchar()) !=EOF) { // 注意 while 处理多个 case
if ((a >= 'a' && a <= 'z') || (a >= 'A' && a <= 'Z')) {
printf("%c is an alphabet.\n", a);
}
else {
printf("%c is not an alphabet.\n", a);
}
getchar();//清除缓冲区,当输入字个字符之后,按下回车缓冲区会有一个‘\n’,会导致下次读字符的先读取它
}
return 0;
}
scanf函数返回值,简单来说就是,它返回已成功赋值的数据个数;出错时则返回EOF.
(注:EOF(End Of File)是一个预定义的常量,等于-1.)
/ //字母大小写转化
#include <stdio.h>
#include<ctype.h>
int main() {
int c = 0;
while ((c = getchar()) != EOF) {
if (isupper(c)) {//判断是否是大写字母
printf("%c\n", tolower(c));//大写字母转小写
}
if (islower(c)) {//判断是否是小写字母
printf("%c\n", toupper(c));//小写字母转大写
}
}
getchar();//清除缓冲区字符
return 0;
}
/*#include <stdio.h>
//a-97
//A-65
int main() {
char c;
while(scanf("%c",&c) != EOF){
if(c<='Z'&&c>='A'){
printf("%c\n",c+32);
}
if(c<='z'&&c>='a'){
printf("%c\n",c-32);
}
}
return 0;
}*/
/*#include <stdio.h>
int main() {
int c=0;
while ((c=getchar()) != EOF) {
if (c <= 'Z' && c >= 'A') {
printf("%c\n", c + 32);
}
if (c <= 'z' && c >= 'a') {
printf("%c\n", c - 32);
}
}
getchar();//清除缓冲区字符
return 0;
}*/
getchar()一次只能读取一个字符,当输入换行字符‘\n’时,它也会读取,造成程序崩溃!!!
getchar函数是用于读取字符的,如果读取正常,则返回其读到的那个字符;如果读取错误或遇到文件末尾(end of file),则返回EOF。