如何读取一行一个单独的(+, - )从数字用C

问题描述:

我试图写一个程序,将读到这样一条线: * 3 2如何读取一行一个单独的(+, - )从数字用C

然后调用一个函数乘上我已经写过,会做这个等式。

我已经有了所有操作的公式,只是不知道如何分隔线路并拨打电话。

+0

可能想要看看scanf。 [(链接)](http://www.cplusplus.com/reference/clibrary/cstdio/scanf/) – Zilchonum 2011-05-01 03:03:58

+0

如果你正在寻找桌面计算器,Bjarne Stroustrup在书中“The C++ Programming语言“在模块化改变之前显示代码,它几乎是一个C程序。 – JackMc 2011-05-01 03:12:55

Polish (prefix) notation是当操作符写在它的操作数之前,就像你在这里一样。如果你的每一行对应一个“波兰语句子”,并且如果你能够方便地在内存中存储整行(很可能,我猜),那么最简单的方法可能是将整行读入一个缓冲区(即fgets()),然后使用strtok()构建一个指向每个标记的指针数组,最后遍历该数组从其结尾到其开始(基本上从右向左读取句子),以某种方式处理每个标记类似于上述*条目中给出的伪代码。 (从左到右处理一个reverse Polish notation句子是完全一样的,并且可以理解得有点容易理解,只是因为不需要将句子向后遍历以便轻松完成。)