C语言的一个问答程序问题【后追分】
来源:百度知道 编辑:UC知道 时间:2024/05/27 17:30:54
#include<stdio.h>
#include<stdlib.h>
void iq(int *num)
{
char choose,choose2;
printf("问题\n");
printf("a.xx b.xx c.xx d.xx\n");
scanf("%c",&choose);
getchar();
if(choose=='a')
*num=*num+50;
printf("问题\n");
printf("a.xx b.xx c.xx d.xx\n");
scanf("%c",&choose2);
getchar();//这里为什么可以用它消掉回车?
if(choose2=='b')
*num=*num+50;
}
int main()
{
int numbegain=0;
printf("这是一个XX程序,根据提示选择abcd\n");
iq(&numbegain);
printf("你的智商是:%d",numbegain);
system("pause");
}
如果真的回答得好,一定会追满50!大家都知道,如果一个问题没人解决,分数就浪费了……现在分没以前那么多了我…………
#include<stdlib.h>
void iq(int *num)
{
char choose,choose2;
printf("问题\n");
printf("a.xx b.xx c.xx d.xx\n");
scanf("%c",&choose);
getchar();
if(choose=='a')
*num=*num+50;
printf("问题\n");
printf("a.xx b.xx c.xx d.xx\n");
scanf("%c",&choose2);
getchar();//这里为什么可以用它消掉回车?
if(choose2=='b')
*num=*num+50;
}
int main()
{
int numbegain=0;
printf("这是一个XX程序,根据提示选择abcd\n");
iq(&numbegain);
printf("你的智商是:%d",numbegain);
system("pause");
}
如果真的回答得好,一定会追满50!大家都知道,如果一个问题没人解决,分数就浪费了……现在分没以前那么多了我…………
getchar()是以回车符作为结束符的..所以接收到回车后就继续执行下一个语句,如果不加,scanf语句是可以空格或者结束的,这样上面输入了空格加回车,下面读取的时候可能就只读取了回车!没有任何数据。所以说 getchar()语句可以消掉回车
你想问什么?
为什么getchar()可以消掉回车?这个函数是让用户输入一个字符,程序执行到这里会反复扫描看你是不是按下了一个键,其实不管按什么程序都会过去的
还真没看懂什么意思,就算没那句getchar();也没问题啊
getchar 到输入流中去取字符,如果输入流中有剩余回车键,它会取进。