我正在尝试创建一个程序,如果用户从键盘ex 5*4
或5/7
提供完整的算术运算,它将解释操作ex *
,{{1} },/
或+
并打印结果。如果用户每次输入数字或符号ex -
或*
并将它们放入3个变量时,如何在没有用户按Enter的情况下阅读整个操作?
我尝试使用:
/
但我想这样做:
printf("give an operation")
scanf("%d%c%d",&num_1,&c,&num_2)
答案 0 :(得分:2)
如果我理解你的问题和评论是正确的,你想要从用户那里读取一行输入,用户输入表达式并使用 Enter 键结束表达式?
然后使用scanf
应该可以正常工作。您还可以使用fgets
来获取该行,并使用sscanf
进行解析。
答案 1 :(得分:-1)
scanf("%d %[*+-/] %d", &numA, op, &numB);
op应定义为char数组:char op[2];
解释
%[+-*/]
:这意味着您希望%op符合字符+
或-
或*
或/