C程序getchar函数求教

来源:百度知道 编辑:UC知道 时间:2024/05/04 22:08:41
#include<stdio.h>
void main()
{int n;
char ch;
do{ch=getchar();}while(ch<'0'||ch>'7');
n=0;
do{n++;ch=getchar();}while(ch>='0'&&ch<='7');
printf("%d#",n);
}
输入 afds2008b3c<回车>,结果为什么是:3# ????

1.getchar()函数从STDIN(标准输入)获取并返回下一个字符,如果到达文件尾返回EOF.

2.我还真无聊到拿你的程序去单步了,当然不单步也可看到,输入的afds2008b3c的afds,都满足第一个do while的条件,直到2,跳出while,进入第二个do while,直到8,跳出第二个while,后面的b3c当然就没用了

3.那个printf里面的"#"号有什么意义吗?