当我们用到循环输入字符时,我们按下的回车键被当作换行键是会被读进去的。
#include "stdio.h"
int main(){
char c=0;
printf("我将打印你所输入\n");
while(1){//C语言中 非0为真 0为假
scanf("%c",&c);
printf("%c\n",c);
printf("ASCII:%d\n",c);
}
return 0;
}
输出结果如下:
我们可以观察到在输出SCANF的F及F的ASCII后“空了一行”,再接上下一个ASCII。
这个“空了一行”就是回车键。
解决方法:对输入进行判断、过滤
#include "stdio.h"
int main(){
char c=0;
printf("我将打印你所输入\n");
while(1){//C语言中 非0为真 0为假
scanf("%c",&c);
if(c!=10){
printf("%c\n",c);
printf("ASCII:%d\n",c);
}
}
return 0;
}