当你想逐个字符的把大写字符转化为小写字母时,不可避免的输入换行建,而getchar会把回车换行输入或者当你输入多个字符时,也会把每个字符输入进去
例如:
#include <stdio.h>
//从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出;否则,直接输出。
int main(void)
{
char ch;
while((ch=getchar()) != '#'){ //'#'用来退出循环
if(ch>='A'&&ch<='Z'){
ch=ch+32;
} else if(ch>='z'||ch<='A'){
printf("Please input the right char\n");
}
// while(getchar() != '\n')
// continue; //跳过剩余的输出行
printf("%c %d\n",ch,ch);
}
return 0;
}
若想一个一个的字符输入,且跳过剩下的字符输入
改变方法就是在后面加这两行代码
因为getchar 会持续输入,但不是换行时就跳过,是换行时就进行上一次while循环。