C语言,scanf语句不知道为什么被跳过了
答案:4 悬赏:30 手机版
解决时间 2021-11-20 16:08
- 提问者网友:温柔港
- 2021-11-19 15:24
C语言,scanf语句不知道为什么被跳过了
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-11-19 15:41
因为我们在输入第一组的2个数时会输入“回车”,这个回车会被你第二个“scanf”函数捕获,你只要在第二个“scanf”语句前加一句“getchar();”就行了,代码如下:
#include "stdio.h"
int main(){
int a,b;
char Operator;
printf("please input two number:");
scanf("%d %d",&a,&b);
printf("please input Operater(+ or -):");
getchar();
scanf("%c",&Operator);
switch(Operator)
{
case '+':
printf("%d+%d=%d\n",a,b,a+b);break;
case '-':
printf("%d-%d=%d\n",a,b,a-b);break;
default :
printf("Input error\n");
}
return 0;
}
#include "stdio.h"
int main(){
int a,b;
char Operator;
printf("please input two number:");
scanf("%d %d",&a,&b);
printf("please input Operater(+ or -):");
getchar();
scanf("%c",&Operator);
switch(Operator)
{
case '+':
printf("%d+%d=%d\n",a,b,a+b);break;
case '-':
printf("%d-%d=%d\n",a,b,a-b);break;
default :
printf("Input error\n");
}
return 0;
}
全部回答
- 1楼网友:动情书生
- 2021-11-19 19:07
#include"stdio.h"
int main()
{ int a,b;
char Operator;
printf("please input two number:");
scanf("%d %d",&a,&b);
getchar();//接受缓冲区回车!!!!!
printf("please input Operater(+ or -):");
scanf("%c",&Operator);
switch(Operator)
{case '+': printf("%d+%d=%d\n",a,b,a+b);break;
case '-': printf("%d-%d=%d\n",a,b,a-b);break;
default : printf("Input error\n");}return 0;}
int main()
{ int a,b;
char Operator;
printf("please input two number:");
scanf("%d %d",&a,&b);
getchar();//接受缓冲区回车!!!!!
printf("please input Operater(+ or -):");
scanf("%c",&Operator);
switch(Operator)
{case '+': printf("%d+%d=%d\n",a,b,a+b);break;
case '-': printf("%d-%d=%d\n",a,b,a-b);break;
default : printf("Input error\n");}return 0;}
- 2楼网友:摆渡翁
- 2021-11-19 18:31
把 scanf("%d %d",&a,&b); 改为
scanf("%d %d \n",&a,&b);
因为你多输入了一个回车,这个回车键会放在系统输入缓存中,被下一个 scanf 函数检测到
所以导致输入错误了
scanf("%d %d \n",&a,&b);
因为你多输入了一个回车,这个回车键会放在系统输入缓存中,被下一个 scanf 函数检测到
所以导致输入错误了
- 3楼网友:千杯敬自由
- 2021-11-19 17:10
#include"stdio.h"
int main(){
int a,b;
char Operator;
printf("please input two number:");
scanf("%d %d ",&a,&b);//已改不然operator会接收
printf("please input Operater(+ or -):");
scanf("%c",&Operator);
switch(Operator)
{case '+': printf("%d+%d=%d ",a,b,a+b);break;
case '-': printf("%d-%d=%d ",a,b,a-b);
break;default : printf("Input error ");
}
return 0;
}
int main(){
int a,b;
char Operator;
printf("please input two number:");
scanf("%d %d ",&a,&b);//已改不然operator会接收
printf("please input Operater(+ or -):");
scanf("%c",&Operator);
switch(Operator)
{case '+': printf("%d+%d=%d ",a,b,a+b);break;
case '-': printf("%d-%d=%d ",a,b,a-b);
break;default : printf("Input error ");
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯