-6

我正在尝试制作一个程序,如果用户从键盘 ex 给出一个完整的算术运算,5*4或者5/7它将解释操作 ex */+-并打印结果。如果用户每次输入数字或符号 ex*/将它们放入 3 个变量中时,我如何阅读整个操作?我尝试使用:

printf("give an operation")
scanf("%d%c%d",&num_1,&c,&num_2)

但我想做:

c=getchar()
4

2 回答 2

2

如果我理解你的问题和评论是正确的,你想从用户那里读取一行输入,用户输入一个表达式并使用Enter键来结束表达式?

然后使用scanf应该可以正常工作。您还可以使用fgets来获取行,并sscanf用于解析。

于 2012-11-13T10:56:40.353 回答
-1
scanf("%d %[*+-/] %d", &numA, op, &numB);

op 应定义为 char 数组:char op[2];

解释

%[+-*/]:这意味着您期望 %op 字符 +-*/

于 2012-11-13T10:32:57.867 回答