【问题标题】:How to read a line a seperate (+, -) from numbers in C如何从C中的数字中读取一行单独的(+,-)
【发布时间】:2011-05-01 02:50:15
【问题描述】:

我正在尝试编写一个程序,该程序将读取如下行: * 3 2

然后调用我编写的函数 multiply 来计算方程。

我有所有操作的公式,只是不知道如何分隔行并进行调用。

【问题讨论】:

  • 可能想看看scanf。 (link)
  • 如果您正在寻找台式计算器,Bjarne Stroustrup 在“C++ 编程语言”一书中写了一个版本来展示模块化之前的代码,它几乎是一个 C 程序.

标签: c function line call


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多