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