ghtchar函数怎么这么怪异呢
#include<stdio.h>int main()
{
float fDues;
float fAmount;
int iOntime;
char cChar;
printf("Enter dues amount:\n");
scanf("%f",&fDues);
printf("On Time? (y/n)\n");
getchar();
cChar=getchar(); /*若上次的getchar是输入y+回车,那么这次的getchar会应该是读取一个回车字符\n,但是实际上是读取了y,为什么会这样,按逻辑上不会得到y值啊*/
iOntime=(cChar=='y')?1:0;
fAmount=iOntime?fDues:(fDues*1.1);
printf("the Amount is:%.2f\n",fAmount);
return 0;
}
----------------------------------下面的就是符合逻辑的
#include<stdio.h>
int main()
{
char cChar;
getchar();
cChar=getchar(); /*这个getchar的结果就是读取了一个回车自负\n呀,并没有读取第一个值*/
printf("%c\n",cChar);
return 0;
}
[此贴子已经被作者于2016-5-11 15:53编辑过]