gpt4 book ai didi

c - 为什么我的 '+' 运算符被视为换行符?

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:56 24 4
gpt4 key购买 nike

以下代码用于模块化计算器问题。输入数据为:

 5+3* 7+10* 2* 3+1% 11
#include <stdio.h>

int main(void) {
char oper;
int number,result;
scanf("%d",&number);
result=number;
do
{
oper=getchar();
fflush(stdin);
scanf("%d",&number);
if(oper=='+')
{
result=result+number;
}
else if(oper=='*')
{
result=result*number;
}
printf("%c %d %d ",oper,number,result);
}while(oper!='%');
result=result%number;
printf("%d",result);
return 0;
}

我得到的输出如下:

3 5 
3 5 * 7 35
10 35
10 35 * 2 70
2 70 * 3 210
1 210
1 210 % 11 210 1

我似乎无法弄清楚为什么?

最佳答案

替换

oper=getchar();
fflush(stdin);
scanf("%d",&number);

scanf(" %c", &oper);
scanf("%d", &number);

关于c - 为什么我的 '+' 运算符被视为换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27323555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com