我需要读取一行,该行可以包含整数和实数以及以空格分隔的运算符('+','-','*'和'/')。 例如:9 2e2 + 5.0- 输入长度没有限制。 读取行后,必须将数字分开转换并存储在堆栈中。根据运算符,我们对堆栈中的前两个数字执行运算。对于上面的示例,我需要存储9,然后将2e2存储在堆栈中。然后将这两个弹出并执行加法(+)。将结果存储在堆栈上,然后在堆栈上存储5.0,最后执行减法。按下Enter键后,应打印输出,此处为-204。 我在读取和存储输入时遇到问题。
我使用scanf读取输入,但是一旦按下enter键,它就不会停止读取。因此,它不会打印任何输出。
char c[100];
while(should stop once enter is pressed)
{
scanf("%s",c);
//code
}
请帮助,谢谢。