#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int a,b,c,temp;
char i;
do
{
printf("请输入三个数 ");
scanf("%d%d%d",&a,&b,&c);
if(b<a)
{temp=a;
a=b;
b=temp;
} if(c<a)
{temp=a;
a=c;
c=temp;
}
if(c<b)
{temp=c;
c=b;
b=temp;
}
printf("%d %d %d ",a,b,c);
printf("输入'y'表示继续,输入其他表示退出");
scanf("%c",&i);
}while(i=='y');
return 0;
}
为什么运行后 scanf("%c",&i);无法输入i的值
答案:4 悬赏:50 手机版
解决时间 2021-04-23 00:58
- 提问者网友:两耳就是菩提
- 2021-04-22 12:16
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-04-22 12:56
这可能是键盘缓冲区的问题。 请在scanf前面加入 fflush(stdin); 您再试试~~
全部回答
- 1楼网友:迟山
- 2021-04-22 15:06
scanf("%c",&i);上面加上一条语句:
getchar();
- 2楼网友:野味小生
- 2021-04-22 14:50
scanf("%c",&i);
scanf(" %c",&i); %c前面加个空格
- 3楼网友:人间朝暮
- 2021-04-22 13:43
scanf会读入'\n'符,执行scanf("%d%d%d",&a,&b,&c) 的时候在末尾敲了回车,然后 scanf("%c",&i)会将回车符赋给i,
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯