c语言:模拟简单运算器的工作,加减乘除优先级一样 - 爱问答

(爱问答)

c语言:模拟简单运算器的工作,加减乘除优先级一样

#include<stdio.h>

int main ()

{

int a,result;

char ch;

printf("Enter: ");

scanf("%d",&a);

result=a;

while((ch=getchar())!='=')

{

scanf("%d",&a);

if(ch=='+')

result=result+a;

if(ch=='-')

result=result-a;

if(ch=='*')

result=result*a;

if(ch=='/')

result=result/a;

}

printf("%d ",result);

return 0;

}

 

不明白问什么当我输入比如:1+2+3=时,输入完“=”时不会显示答案,而是再次敲入回车键时,才会显示答案。若把while中的条件‘=’改成‘ ’时,还是输入1+2+3,输入“回车键”时,直接显示答案,不用再次敲入回车键。帮忙解释一锤。

c语言中,getchar()一定要输入回车后才能接收到字符的

而scanf("%d",&a);同样要你输入回车后才能接收数据的

但scanf不能接收数据后面的回车,必须由getchar()接收


当然输入完“=”时不会显示答案了。

你必须敲了换行符后才会把1+2+3=发送到缓冲区,scanf()才能开始读取呀

相关标签:c语言运算

下一篇:请教一下大家

上一篇:什么是编程

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?