#include<stdio.h>
main()
{
int a,b,m,r;
printf("input a,b:");
r=scanf("%d,%d",&a,&b);
printf("%d",r);
while(r!=2)
{
while(getchar()!='\n');
printf("input a,b");
r=scanf("%d,%d",&a,&b);
}
m=a>b?a:b;
printf("m=%d\n",m);
}
以上是我在书上抄的原程序,没问题,我就是不懂while(getchar()!='\n'); 清空缓冲区的原理是什么。 while不是应该有个{}吗? 是不是省略了?如果要加上应该怎么加? 还有getchar()接收的字符是什么时候输入的字符?我大一刚学这个,希望能说详细点,通俗点。。可以的话留个联系方式,以便日后请教。。
main()
{
int a,b,m,r;
printf("input a,b:");
r=scanf("%d,%d",&a,&b);
printf("%d",r);
while(r!=2)
{
while(getchar()!='\n');
printf("input a,b");
r=scanf("%d,%d",&a,&b);
}
m=a>b?a:b;
printf("m=%d\n",m);
}
以上是我在书上抄的原程序,没问题,我就是不懂while(getchar()!='\n'); 清空缓冲区的原理是什么。 while不是应该有个{}吗? 是不是省略了?如果要加上应该怎么加? 还有getchar()接收的字符是什么时候输入的字符?我大一刚学这个,希望能说详细点,通俗点。。可以的话留个联系方式,以便日后请教。。